ورود

View Full Version : حرفه ای: یک مشکل عجیب



IMANAZADI
شنبه 30 اردیبهشت 1391, 12:48 عصر
با سلام خدمت دوستان عزیز
برام مشکلی در زمینه برنامه نویسی vba پیش اومده خواستم از شما بزرگواران کمک بگیرم
یک تیبل به نام main با فیلدهای id , mat,type داریم که فیلد id کلید اصلی هست و به یک جدول دیگه رابطه یک به چند داره که این رابطه جهت اطلاع بوده و در سوال نقشی نداره
یک فرم دارم که روی اون یک کمبو باکس و یک لیبل هست
کمبو باکس 1 (combo1) اطلاعاتش درونش توسط یک کوئری از تیبل main گرفته میشود


SELECT Main.[ID], Main.[Mat] FROM Main ORDER BY Main.[ID];

کاربر با انتخاب فیلد مورد نظر ازکمبوباکس (combo1) شماره Main.ID اون در کمبو باکس نشون داده میشه

یک لیبل هم کنارش هست جهت نمایش دادن نام mat با توجه به id انتخاب شده در combo1

در رویداد AfterUpdate کمبو یک (combo1) کدهای زیر را جهت بدست آوردن نام mat با توجه به id نوشتم اما اررو میده



Dim db As DAO.Database
Dim rst As DAO.Recordset

Set db = CurrentDb

Set rst = db.OpenRecordset("select * from Main where ID = ' " & Me.combo1.Value & " ' ")

rst.MoveFirst
Me.Label1.Caption = rst![Mat]

rst.Close
Set rst = Nothing
Set db = Nothing




میشه راهنمایی کنید

mohammadgij
شنبه 30 اردیبهشت 1391, 13:06 عصر
چنانچه Row Source کامبو باکستون همون دستوری که ابتدا گذاشتید و Column Count این کامبو رو عدد 2 گذاشتید از دستور زیر در AfterUpdate استفاده کنید


If Me.ComboBoxName.Value<>"" And Not Isnull(me.ComboBoxName.Value) Then
Me.Label1.Caption =Me.ComboBoxName.Column(1)
Else
Me.Label1.Caption=""
End If

IMANAZADI
شنبه 30 اردیبهشت 1391, 14:23 عصر
دوست عزیز راهنماییت درست بود ولی میشه توضیح بدی کجای کد من خطا داشت و ایرادش کجا بود
ممنون میشم