ورود

View Full Version : پایگاه داده و ویژوال بیسیک



helia 007
چهارشنبه 08 مهر 1388, 00:12 صبح
بچه ها من یه سوال دارم لطفا دوستانی که بلدن راهنمایی کنن

من میخوام بانک اطلاعاتی رو به ویبی مرتبط کنم ولی طبق شرطی که من میزارم براش فیلد هارو نمایش بده مثلا :

اگر فیلد id=5 بود ، فیدل name رو نمایش بده .

با سپاس ..... هلیا :لبخندساده:

Dr.Bronx
چهارشنبه 08 مهر 1388, 01:02 صبح
شما اگر از VSFLEXGRID استفاده کنید مشکلی نخواهید داشت

If id=5 then
vs.colhidden(1) = true
end if

عدد 1 شماره اون Column شماست
موفق باشید

mostafa_bahar
چهارشنبه 08 مهر 1388, 12:07 عصر
روی grid به شکل زیر
DataGrid1.Columns(1).Visible = False

helia 007
چهارشنبه 08 مهر 1388, 12:37 عصر
شما اگر از VSFLEXGRID استفاده کنید مشکلی نخواهید داشت

If id=5 then
vs.colhidden(1) = true
end if

عدد 1 شماره اون Column شماست
موفق باشید


ممنون از راهنماییتون :لبخندساده:

میشه بگین چه جوری باید از VSFLEXGRID استفاده کنم ؟ من اصلا باهاش آشنا نیستم :متفکر:

helia 007
چهارشنبه 08 مهر 1388, 12:40 عصر
روی grid به شکل زیر
DataGrid1.Columns(1).Visible = False

ممنون :لبخندساده:

من میخوام اون فیلد رو داخل یه لیبل نمایش بده :متفکر:

mostafa_bahar
چهارشنبه 08 مهر 1388, 18:41 عصر
data.recordset.find("id ='5'") m
label1.caption=data.recordset.filed("name").value

Dr.Bronx
چهارشنبه 08 مهر 1388, 20:24 عصر
شما به تاپیک زیر مراجعه کنید
تمام مباحث مربوطه اونجا جمع آوری شده
http://barnamenevis.org/forum/showthread.php?t=180016

موفق و موید باشید

helia 007
پنج شنبه 09 مهر 1388, 14:24 عصر
ولی چیزی که من میخواستم اونجا نبود

من با کنترل دیتا ارتباط رو برقرار کردم ولی الان فارسی نشون نمیده و به شکل علامت سوال دیده میشه فیلدهایی که نشون میده

helia 007
پنج شنبه 09 مهر 1388, 14:24 عصر
data.recordset.find("id ='5'") m
label1.caption=data.recordset.filed("name").value

جواب نمیده :متفکر:

helia 007
یک شنبه 12 مهر 1388, 22:46 عصر
من هنوز منتظرمااا..... سوالم رو دوباره تکرار میکنم

ببینید من پایگاه دادم رو با کنترل data ارتباط دادم حالا میخوام به صورت رندوم یکی از از محتوی های فیلد رو نشون بده ، البته به صورتی که در هر بار اجرا rnd مقدار متفاوتی بده ، که فکر میکنم باید از randomize استفاده کنم ولی بلد نیستم

دوستان اگه ممکنه با کد راهنمایی کنین :لبخندساده:

ممنون

helia 007
دوشنبه 13 مهر 1388, 19:04 عصر
جالبه یعنی کسی نمیتونه منو راهنمایی کنه ؟ :اشتباه:

Dr.Bronx
دوشنبه 13 مهر 1388, 20:40 عصر
شما مشخصه که چند تا رکورد دارید یانه ؟
اول جواب این رو بدید

helia 007
دوشنبه 13 مهر 1388, 22:53 عصر
بله مشخصه .....

Dr.Bronx
سه شنبه 14 مهر 1388, 01:14 صبح
Dim Rec_Rnd as string
Randomize
Rec_Rnd = Int(Rnd() * 50) + 1

Dim conn As New ADODB.Connection
If connT.State = 1 Then connT.Close
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;JET OLEDB:Database Password=125@areyou;Data source=" & App.Path & "\Data\Base.mdb"
Dim rs As New ADODB.Recordset
If rs.State = 1 Then rs.Close

rs.Open "SELECT * FROM Table1 WHERE Record=" & Rec_Rnd, conn, adOpenStatic, adLockOptimistic


این تا اینجا - باز هم اگر متوجه نشدید بگید تا بیشتر توضیح بدم
فقط اون 50 که پررنگ کردم تعداد رکورد هاتون رو بنویسید
Table1 نام تیبل شما
Record هم نام اون Field شما
موفق باشید

helia 007
سه شنبه 14 مهر 1388, 10:05 صبح
ممنون
ولی run نمیشه خطا میده

من از کنترل دیتا استفاده کردم ، مهم نیست ؟

mostafa_bahar
سه شنبه 14 مهر 1388, 10:12 صبح
سلام
از این دستور استفاده کن
Randomize
c = Int(Rnd * 10)
بجای 10 تعداد فیلداتو بزار
بعد که این کارو کردی بعد بانک و فیلتر کن براساس شماره فیلد به دست اومده یعنی عدد c
فیلدو تشخیص بده بعد فیلتر کن بعد بانک و داخل گرید نمایش بده خودتو با data درگیر نکن خوب نیست با adodc یا dataenviriment استفاده کن

powerboy2988
سه شنبه 14 مهر 1388, 10:15 صبح
ولی چیزی که من میخواستم اونجا نبود

من با کنترل دیتا ارتباط رو برقرار کردم ولی الان فارسی نشون نمیده و به شکل علامت سوال دیده میشه فیلدهایی که نشون میده

اگر علامت سوال نشون ميده به اين دليل كه collation name اون ديتابيس شما به صورت پيش فرض انتخاب شده كه فارسي رو پشتيباني نمي كنه.. براي رفع مشكل collation name رو به Arabic_CI_AI تغيير بدين.

و اگر ممكنه يك بار ديگه دقيقا بگيد كه چه كاري مي خواين انجام بدين و چه اطلاعاتي رو مي خوايد از ديتابيس بخونيد

helia 007
سه شنبه 14 مهر 1388, 10:21 صبح
سلام
از این دستور استفاده کن
Randomize
c = Int(Rnd * 10)
بجای 10 تعداد فیلداتو بزار
بعد که این کارو کردی بعد بانک و فیلتر کن براساس شماره فیلد به دست اومده یعنی عدد c
فیلدو تشخیص بده بعد فیلتر کن بعد بانک و داخل گرید نمایش بده خودتو با data درگیر نکن خوب نیست با adodc یا dataenviriment استفاده کن

اون کدهایی که گفتین رو من نوشته بودم ولی جواب نداد

آخه کار باهاشون رو اصلا بلد نیستم

helia 007
سه شنبه 14 مهر 1388, 10:24 صبح
اگر علامت سوال نشون ميده به اين دليل كه collation name اون ديتابيس شما به صورت پيش فرض انتخاب شده كه فارسي رو پشتيباني نمي كنه.. براي رفع مشكل collation name رو به Arabic_CI_AI تغيير بدين.

و اگر ممكنه يك بار ديگه دقيقا بگيد كه چه كاري مي خواين انجام بدين و چه اطلاعاتي رو مي خوايد از ديتابيس بخونيد

ببینید من میخوام که برنامه به صورت رندوم یه عدد تولید کنه
بعد بیاد محتوای(البته فقط فیلد soal رو ) اون رکوردی که فیلد id اون برار اون عدد رندومه رو نشون بده

helia 007
سه شنبه 14 مهر 1388, 10:26 صبح
اگر علامت سوال نشون ميده به اين دليل كه collation name اون ديتابيس شما به صورت پيش فرض انتخاب شده كه فارسي رو پشتيباني نمي كنه.. براي رفع مشكل collation name رو به Arabic_CI_AI تغيير بدين.

و اگر ممكنه يك بار ديگه دقيقا بگيد كه چه كاري مي خواين انجام بدين و چه اطلاعاتي رو مي خوايد از ديتابيس بخونيد

ببینید من میخوام که برنامه یه عدد به صورت رندوم ایجاد کنه
بعد بیاد محتوای فیدل soal اون رکوردی که فیدا id اون برابر با اون عدد رندومه بهم نشون بده

powerboy2988
سه شنبه 14 مهر 1388, 10:27 صبح
ببینید من میخوام که برنامه به صورت رندوم یه عدد تولید کنه
بعد بیاد محتوای(البته فقط فیلد soal رو ) اون رکوردی که فیلد id اون برار اون عدد رندومه رو نشون بده

شما نمونه برنامه با اون پايگاه داده رو بزار تا درستش كنيم...

helia 007
سه شنبه 14 مهر 1388, 10:28 صبح
ببینید من میخوام که برنامه یه عدد به صورت رندوم ایجاد کنه
بعد بیاد محتوای فیدل soal اون رکوردی که فیدا id اون برابر با اون عدد رندومه بهم نشون بده

mostafa_bahar
سه شنبه 14 مهر 1388, 10:31 صبح
کلا برنامه تون نامفهومه اگر کلا vb فارسی و ساپورت نمی کنه قضیه با نظر دوستمون فرق می کنه شما label هی برنامه ام مشکل داره یا نه اگر گرید روی گرید کلیک راست کنین از صفحه اومده به تب فونت برین و فونتarial(arabic)انتخاب کنید

Dr.Bronx
سه شنبه 14 مهر 1388, 10:32 صبح
Microsoft Activex Data Object 2.5 library
رو به ریفرنس ها اضافه کنید

اگر باز هم نشد
متن خطا رو اینجا بزارید بررسی کنیم
موفق باشید

powerboy2988
سه شنبه 14 مهر 1388, 10:34 صبح
ببين با اين كارت راه مي يوفته


Randomize
Rec_Rnd = Int(Rnd() * 50) + 1

data1.RecordSource = "select * from oragh where Key like ' " & Rec_Rnd & "'"
data1.Refresh

mostafa_bahar
سه شنبه 14 مهر 1388, 10:35 صبح
Randomize
c = Int(Rnd * 1000)j
Data1.Recordset.Filter = "id ='" + Str(c) + "'"j
If Data1.Recordset.RecordCount <> 0 Then
Label1.Caption = Data1.Recordset.Fields("soal").Value
End If
اون j که آخر خط ها گذاشتم برای اینکه جمله درست نمایش داده شود در سورس از دو خط حذف کنشون

helia 007
سه شنبه 14 مهر 1388, 10:42 صبح
کلا برنامه تون نامفهومه اگر کلا vb فارسی و ساپورت نمی کنه قضیه با نظر دوستمون فرق می کنه شما label هی برنامه ام مشکل داره یا نه اگر گرید روی گرید کلیک راست کنین از صفحه اومده به تب فونت برین و فونتarial(arabic)انتخاب کنید

نه فارسیش درست شد :چشمک:

powerboy2988
سه شنبه 14 مهر 1388, 12:35 عصر
مشكلت با اين حتما حل ميشه