View Full Version : سوال: ارتباط بین Textbox با دستورات SQL
mohammadsavadian
چهارشنبه 15 آبان 1392, 13:30 عصر
سلام دوستان
من یه پروژه دارم میخوام تو فرم وقتی کد کالا رو با Combo انتخاب کردم نام کالا اتومات توی یه Textbox نمایش داده شه لطفا راهنماییم کنید
mmbguide
چهارشنبه 15 آبان 1392, 17:26 عصر
سلام
باید از این کد در After Update شی Combo استفاده کنی
Me.Text0.Value = Me.Combo2.Text
فقط باید بدونید که در این مثال وقتی شما combo رو باز میکنید لیست تمام کالاها از جدول گرفته شده است و در واقع شما کد کالا رو نمیبینید و فقط نام کالا مشخص است اما اگر فقط و فقط کد کالا در لیست نمایش داده میشود باید از دستور زیر در After Update شی Combo استفاده کنی
Me.Text0.Value = DLookup("[NameKala]", "[Table1]", "[ID]=Combo2.Value")
SayeyeZohor
پنج شنبه 16 آبان 1392, 21:59 عصر
سلام
باید از این کد در After Update شی Combo استفاده کنی
Me.Text0.Value = Me.Combo2.Text
فقط باید بدونید که در این مثال وقتی شما combo رو باز میکنید لیست تمام کالاها از جدول گرفته شده است و در واقع شما کد کالا رو نمیبینید و فقط نام کالا مشخص است اما اگر فقط و فقط کد کالا در لیست نمایش داده میشود باید از دستور زیر در After Update شی Combo استفاده کنی
Me.Text0.Value = DLookup("[NameKala]", "[Table1]", "[ID]=Combo2.Value")
با دستور اسكيوال چطور ميشه اينكارو انجام داد؟
من با اجراي كوئري در اكسس مشكل دارم :عصبانی++:
چطوري مي شه از نتيجه يك كوئري در اكسس مقدار يك فيلد خاص رو بفهميم؟
مثل همين مثال
mmbguide
پنج شنبه 16 آبان 1392, 22:49 عصر
یه چیزی شبیه به این رو باید روش کار کنی
Dim db As Database
Dim rst As Recordset
Set db = CurrentDb
Set rst = db.OpenRecordset("select NameKala from table1 where id=" & Me.Combo9.Value)
Me.Text7.Value = rst!NameKala
Abbas Amiri
پنج شنبه 16 آبان 1392, 23:20 عصر
یه چیزی شبیه به این رو باید روش کار کنی
Dim db As Database
Dim rst As Recordset
Set db = CurrentDb
Set rst = db.OpenRecordset("select NameKala from table1 where id=" & Me.Combo9.Value)
Me.Text7.Value = rst!NameKala
در همان پست 2 هم باید به همین روش عمل می کردید:
Me.Text0.Value = DLookup("[NameKala]", "[Table1]", "[ID]=" & Combo2.Value)
SayeyeZohor
پنج شنبه 16 آبان 1392, 23:54 عصر
Public Function lookUpColumnValue(Database As Database, column As String, table As String, lookUpColumn As String, lookUpValue As String) As String
Dim sql As String
Dim recordSet As DAO.recordSet
Dim result As String
lookUpColumnValue = "" 'Return a blank string if no result
On Error Resume Next
'sql = "SELECT [" & table & "].[" & column & "] FROM [" & table & "] WHERE [" & table & "].[" & lookUpColumn & "] = '" & lookUpValue & "'"
sql = "SELECT " & table & "." & column & " FROM " & table & " WHERE " & table & "." & lookUpColumn & " = " & """" & lookUpValue & """"
Set recordSet = Database.OpenRecordset(sql)
MsgBox sql, vbInformation + vbMsgBoxRight, "íãÇíÔ ÑßæÑÏåÇ"
If Not recordSet.EOF Then
Dim td As DAO.TableDef
'this gives your number - say, 19
result = recordSet(column)
Set td = Database.TableDefs(table)
'Get the rowsource
Dim p As DAO.Property
For Each p In td.Fields(column).Properties
If p.name = "RowSource" Then
RowSource = Replace(td.Fields(column).Properties("RowSource"), ";", "")
Exit For
End If
Next
If Not RowSource = "" Then
Dim rs2 As DAO.recordSet
Dim qd As DAO.QueryDef
Set qd = Database.CreateQueryDef("", RowSource)
Set rs2 = Database.OpenRecordset(RowSource)
If rs2.EOF Then Exit Function
PKField = rs2.Fields(0).name
rs2.Close
qd.Close
sql = "SELECT * FROM (" & RowSource & ") WHERE [" & PKField & "]=[KeyField]"
MsgBox sql, vbInformation + vbMsgBoxRight, "íãÇíÔ ÑßæÑÏåÇ"
Set qd = Database.CreateQueryDef("", sql)
qd.Parameters("KeyField?").Value = result
Set rs2 = qd.OpenRecordset()
If Not rs2.EOF Then
'NOTE: This assumes your RowSource *always* has ID first, description 2nd. This should usually be the case.
lookUpColumnValue = rs2.Fields(1)
End If
Else
'Return the field value if there is no RowSource
lookUpColumnValue = recordSet.Fields(column)
End If
End If
End Function
اين دستور رو پيدا كرده بودم كه كار نمي داد
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.