PDA

View Full Version : سوال: نمایش اطلاعات بانک اطلاعات در کمبو باکس و تکست باکس بصورت جداگانه ولی مرتبط



amirm2012
سه شنبه 22 فروردین 1396, 21:58 عصر
سلام دوستان گرامی
تو یه پروژه کتابخانه یه فرم کاربر موضوعات کتاب رو به دلخواه با کد مخصوص وارد می کنه بعد در فرم دیگه ای من موضوعات کتاب رو تو یه کمبو باکس نشون میدم (این کار رو انجام دادم) و در تکست باکس بعدی می خوام شماره ثبت بهش بدم به این صورت که اول شماره اختصاصی موضوع انتخاب شده در کمبو باکس رو بهم بده بعد هم بر اساس موضوع به ترتیب شماره گذاری کنم (این قسمت رو بلد نیستم)
مثلا کتابهای برنامه نویسی با کد اختصاصی 300
بعد شماره بندی کنم به این صورت که 300/1001

mmbguide
چهارشنبه 23 فروردین 1396, 10:37 صبح
سلام. اگر منظورت اینه که مقدار کلید مربوط به ردیف انتخاب شده در ComboBox رو نمیتونی بدست بیاری که میشه این کارو کنی:



Me.ComboBox.SelectedValue.ToString

اگر هم قرار بود که به عنوان یک متغیر عددی استفاده بشه میتونی این کارو کنی:



(Cint(Me.ComboBox.SelectedValue

amirm2012
چهارشنبه 23 فروردین 1396, 23:07 عصر
سلام ممنون که وقت گذاشتین و جواب دادین
منظورم اینکه که یک فرم اطلاعات رو میگیره در جدول ذخیره می کنه و من تو فرم بعدی میخوام او اطلاعات رو از جدول قبلی بگیرم به این شکل که اسم کتاب در یک کمبوباکس و شماره در تکست باکس بیاد .
امیدوارم منظورم رو رسونده باشم.

mmbguide
چهارشنبه 23 فروردین 1396, 23:58 عصر
آیا هر دو فرم در یک زمان باز هستند؟ اگر که فرم ها به ترتیب مورد استفده قرار میگیرند به راحتی میتونید این کار رو انجام بدید. خب فرم دوم که قراره اسامی کتاب هارو نمایش بده فرمودید که در ComboBox باید این کار انجام بشه. گویا بارگذاری اطلاعات در ComboBox رو انجام دادید. خب هر گزینه در ComboBox یک Item هستش که برای دستیابی به مقادیر هر فیلد از جدولی که در ComboBox باگذاری شده میتونید اینکارو انجم بدید:

اگر مقدار را برحسب String نیاز داشتید (در صورت امکان):

Ctype(Me.ComboBox.SelectedItem,DataRowView).Row.it em(FieldIndex).ToString
اگر بر حسب نوع عددی مثل Integer خواستید (در صورت امکان):

(Cint(Ctype(Me.ComboBox.SelectedItem,DataRowView). Row.item(FieldIndex

بجای FieldIndex باید ایندکس فیلد مورد نظر را قرار بدید. شماره اولین فیلد 0 می باشد.

حالا فرض کنیم که ردیف جدیدی که ثبت کردید شامل اطلاعات زیر باشد:



Other
Author
BookName
ID


2017
Microsoft
VB.Net
300



حالا میخوام یک سریال تولید کنم:ِ

Dim strBookSerial As String = String.Empty
Dim strBookID As String = String.Empty
"Dim strBookGroup As String = "1001

strBookID = Ctype(Me.ComboBox.SelectedItem,DataRowView).Row.it em(0).ToString
strBookSerial = strBookID & "/" & strBookGroup

نتیجه:

300/1001

نمیدونم منظورتون این بوده یا خیر. البته کدها برای تفهیم مسئله بود. مثلا اینکه عدد 1001 باید خودکار تولید بشه یا نه و اصلا معیارش چه چیزیه با خود شماست...