الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تحديث عمود في جدول ببيانات أخري بإستخدام ADO

مغلقمُجاب
بدأه ahmedbadr في 12 نوفمبر 2013 · 3 رد · 778 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الاخوة الافاضل

 

أرجو المساعدة علي مثال لتحديث بيانات عمود معين في جدول بإستخدام 

ADO و Loop

و لكن الكود لا يعمل معي و اليكم الكود اذا كان لديكم اضافة أوي تعديل عليه

Dim mycnn As New ADODB.Connection
Dim rs1 As New ADODB.Recordset
Dim rs2 As New ADODB.Recordset
Set mycnn = CurrentProject.AccessConnection
'-----------------------------Project Code------------------------------------
rs1.Open "select * from red_q where consumption_Month=" & Me.Month_NO.Value & "", mycnn, adOpenDynamic, adLockOptimistic

If rs1.RecordCount = 0 Then Exit Sub

rs1.MoveFirst
  
    Do Until rs1.EOF = True

rs1!consumption_Month = Me.Month_NO.Value + "_Locked"

    rs1.Update
    rs1.MoveNext
    
    Loop
    
    rs1.Close

ارجو المساعدة إن أمكن

#2

للرفع

#3 أفضل إجابة

اخي الفاضل 

 

السلام عليكم ورحمة الله وبركاته

 

قبل استخدام  ADO  يجب عليك توفير المكون الأساسي من المراجع بهذه الطريقة

 

افتح محرر الفيجول بيسك  ثم اذهب الأدوات ثم الى المراجع واختر  Microsoft ActiveX Data Objects 2.x Library

 

post-15367-0-41761600-1384311001_thumb.g

 

post-15367-0-58555200-1384311055_thumb.g

 

 

الآن استخدم الكود بهذه الطريقة

 

Private Sub CmdUpdate_Click()
Dim mycnn As ADODB.Connection
Dim rs1 As New ADODB.Recordset
Set mycnn = CurrentProject.Connection
rs1.Open "select * from red_q where consumption_Month='" & Me.Month_NO.Value & "'", mycnn, adOpenDynamic, adLockOptimistic
         With rs1
           If .RecordCount = 0 Then Exit Sub
           .MoveFirst
           While Not .EOF
          !consumption_Month = Me.Month_NO.Value & "_Locked"
          .Update
          .MoveNext
           Wend
         End With
MsgBox " تم تحديث السجلات بنجاح ", vbInformation, "مبروك"
rs1.Close
DoCmd.OpenTable "red_q", acViewNormal
 
Set rs1 = Nothing
Set mycnn = Nothing
End Sub

 

 

لنقوم بالتجربة على تحديث السجلات التي تحمل القيم 100 في الجدول من خلال النموذج

 

post-15367-0-49231600-1384316129.gif

 

post-15367-0-15796400-1384316319_thumb.g

 

post-15367-0-57059100-1384316352.gif

 

 

 

za-UpdateRsByADO.rar

 

 

بالتوفيق

تم تعديل هذه المشاركة بواسطة zahrah في 13 نوفمبر 2013 في 07:26

2
#4

جزاكم الله خيرا

 

وفى حالة إدخال قيمة غير موجودة بالجدول

لتجنب رسالة الخطأ

'---------------------------------------------------------------------------------------
' Module    : Form_FORM
' Author    : zahrah
' Date      : 13/11/2013
' Purpose   : Update RS by ADO
'---------------------------------------------------------------------------------------

Option Compare Database
Option Explicit

Private Sub CmdUpdate_Click()
Dim mycnn As ADODB.Connection
Dim rs1 As New ADODB.Recordset
On Error GoTo ErrorHandler

  'Your code here
'...........................

Set mycnn = CurrentProject.Connection
rs1.Open "select * from red_q where consumption_Month='" & Me.Month_NO.Value & "'", mycnn, adOpenDynamic, adLockOptimistic
        If rs1.RecordCount = 0 Then Exit Sub
         With rs1
          
           .MoveFirst
           While Not .EOF
          !consumption_Month = Me.Month_NO.Value & "_Locked"
          .Update
          .MoveNext
           Wend
         End With
MsgBox " تم تحديث السجلات بنجاح ", vbInformation, "مبروك"
rs1.Close
DoCmd.OpenTable "red_q", acViewNormal

Set rs1 = Nothing
Set mycnn = Nothing
ErrorHandlerExit:
    Exit Sub
ErrorHandler:
    If Err = 3021 Then    ' no current record
        Resume Next
    Else
        MsgBox "Error No: " & Err.Number & "; Description: " & Err.Description
        Resume ErrorHandlerExit
    End If
End Sub
1

هذا الموضوع مغلق.

مواضيع مشابهة