اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

الردود الموصى بها

قام بنشر

السلام عليكم أعضاء المنتدى الكرام أذكر طريقة تكملة البيانات تلقائيا في الفورم انطلاقا من نفس الجدول بحيث هناك طريقتين:

طريقة الاولى عن طريق ما يسمى recordset

Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("SELECT * FROM Clients WHERE idClient= " & Me.nomClien, dbOpenDynaset)
   Me.Societé = rs!Societé
   Me.Adresse = rs!Adresse
   Me.Tel = rs!Tel
   Me.Email = rs!Email
   Me.Ville = rs!Ville
rs.Close
Set rs = Nothing

أما الطريقة الثانية فهية عن طريق Dlookup

If DLookup("idClient", "Clients", "idClient=" & Me.nomClien) Then
   Me.Ville = DLookup("Ville", "Clients", "idClient=" & Me.nomClien)
   Me.Societé = DLookup("Societé", "Clients", "idClient=" & Me.nomClien)
   Me.Adresse = DLookup("Adresse", "Clients", "idClient=" & Me.nomClien)
   Me.Tel = DLookup("Tel", "Clients", "idClient=" & Me.nomClien)
   Me.Email = DLookup("Email", "Clients", "idClient=" & Me.nomClien)
End If

سأرفق الملف لفهم أكثر 

كما أطلب من أساتذتنا الكرام هل هناك طريقة أخرى تقوم بهذا العمل بغرض التعلم لان هناك دائم طرق كثير للوصل الى الهدف في أكسس وشكرا لكم .

test.accdb

  • Like 2
  • أفضل إجابة
قام بنشر (معدل)

وهنا برقم التليفون

Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("Clients", dbOpenDynaset)
rs.FindFirst "Tel = '" & Me!Tel & "'"
If Not rs.NoMatch Then
rs.Bookmark = rs.Bookmark
Me.Societé = rs!Societé
   Me.Adresse = rs!Adresse
   Me.Tel = rs!Tel
   Me.Email = rs!Email
   Me.nomClien = rs!nomClien
   Me.Ville = rs!Ville
Else 'غير ذلك اي انه لم يجد سجل
MsgBox "  يـرجـاء  الـتـأكـد .... لا  يـو جـد زبون  بـهـذا  الرقم  : " & Me.Tel, , "   : خـطـاء "
End If

 

تم تعديل بواسطه ابو ياسين المشولي
  • Like 2
قام بنشر

عن طريق dlookup مرة واحدة واستدعاء اي عدد من الحقول

On Error GoTo ErrHandler
Dim X() As String
    a = DLookup("[item_no] & '|' & [item]& '|' & [s_price]& '|' & [Quantity] ", "item", "[item_no]='" & [Item_No] & "'")
    X = Split(a, "|")
    Me.item = X(1)
    Me.s_price = X(2)
    Me.Quantity_Available = X(3)
    DoCmd.GoToRecord , , acNewRec
ErrHandler:

    If Err.Number <> 0 Then
    Me.Undo
    MsgBox " باركود غير مسجل "
    End If

       End If

عن طريق قائمة منسدلة

Me.item = Me.Item_No.Column(1)
Me.Quantity_Available = Me.Item_No.Column(2)
Me.s_price = Me.Item_No.Column(3)

 

  • Like 2
  • Thanks 1
قام بنشر
في ١٩‏/١٠‏/٢٠١٩ at 09:44, ابو ياسين المشولي said:

وهنا برقم التليفون


Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("Clients", dbOpenDynaset)
rs.FindFirst "Tel = '" & Me!Tel & "'"
If Not rs.NoMatch Then
rs.Bookmark = rs.Bookmark
Me.Societé = rs!Societé
   Me.Adresse = rs!Adresse
   Me.Tel = rs!Tel
   Me.Email = rs!Email
   Me.nomClien = rs!nomClien
   Me.Ville = rs!Ville
Else 'غير ذلك اي انه لم يجد سجل
MsgBox "  يـرجـاء  الـتـأكـد .... لا  يـو جـد زبون  بـهـذا  الرقم  : " & Me.Tel, , "   : خـطـاء "
End If

 

حاولت اطبق الكلام دا عندي و مانفعتش.. 

هاةهاتنفع في المثال اللي انا رافعه على اللينك دا

 

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information