اخواني السلام عليكم ورحمة الله وبركاتة
عندي طلب اتمنا اجد من يساعدني
اريد ربط قاعدة بيانات اكسس مع قاعدة بيانات mysql و الربط يكون حيوي اي اي تغير في خلايا الاكسس يتغير علي قاعدة بيانات mysql
هل ممكن عمل ذلك ام مستحيل ؟
اخواني السلام عليكم ورحمة الله وبركاتة
عندي طلب اتمنا اجد من يساعدني
اريد ربط قاعدة بيانات اكسس مع قاعدة بيانات mysql و الربط يكون حيوي اي اي تغير في خلايا الاكسس يتغير علي قاعدة بيانات mysql
هل ممكن عمل ذلك ام مستحيل ؟
السلام عليكم ...
يرجى وضع المواضيع في المنتدى المناسب .. ينقل لقسم الــ MYSQL ..
تم تعديل هذه المشاركة بواسطة حسام الشامي في 15 أغسطس 2013 في 10:39
لا إله إلا الله ... محمد رسول الله
لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة
المعرًف القديم : houssam11350_11350
من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر
الف شكر اخي علي الرد عندي سوال
برنامج mysqlworkbench هل يمكن بواسطة عمل ربط بين الاكسس وقاعدة بيانات ربط حيوي اعني انة اي تغير في قاعدة بيانات الاكسس في نفس الوقت تتغير الخلايا في قاعدة بيانات mysql
لو يمكن ذلك هل تتكرم و تعطيني شرح او رابط لشرح الربط بين الاكسس و قاعدة بيانات mysql
السلام عليكم و رحمة الله ..
لا إله إلا الله ... محمد رسول الله
لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة
المعرًف القديم : houssam11350_11350
من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر
الف شكؤ اخي حسام علي الاهتمام و الرد
عندي استفسار اخر اتمنا يتسع صدرك لكثرة اسالتي
هل من الممكن ربط ورقة اكسل مغ قاعدة بيانات mysql ?
تم تعديل هذه المشاركة بواسطة etheer في 15 أغسطس 2013 في 21:30
صار لية اكثر من اسبوعين اجوب المنتديات الاجنبية و العربية ابحث عن طريقة لربط الاكسل بقاعدة بيانات mysql
حصلت عدد من اكود vba مع ado.net
لكن لا تعمل بالصورة المطلوبة لعدم خبرتي بالتعامل مع الاكود و ado.net
السلام عليكم ...
اهلا بك أخي ..
تم تعديل هذه المشاركة بواسطة حسام الشامي في 16 أغسطس 2013 في 00:22
لا إله إلا الله ... محمد رسول الله
لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة
المعرًف القديم : houssam11350_11350
من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر
Sub InsertIntoMySQL()
Dim height As Long
Dim rowtable As Long
Dim strSQL As String
Dim oConn As ADODB.Connection
Dim rs As ADODB.Recordset
On Error GoTo ErrHandler
Set rs = New ADODB.Recordset
Set oConn = New ADODB.Connection
oConn.Open "DRIVER={MySQL ODBC 5.2 ANSI Driver};" & _
"SERVER=localhost;" & _
"DATABASE=etheer;" & _
"USER=root;" & _
"PASSWORD=1234;" & _
"Option=3"
'number of rows with records
height = Worksheets("Sheet1").UsedRange.Rows.Count
height = 3
'insert data into SQL table
With Worksheets("Sheet1")
For rowtable = 2 To height
strSQL = "INSERT INTO M1 (column1, column2, column3) " & _
"VALUES ('" & esc(Trim(.Cells(rowtable, 1).Value)) & "', '" & _
esc(Trim(.Cells(rowtable, 2).Value)) & "', '" & _
esc(Trim(.Cells(rowtable, 3).Value)) & "')"
oConn.Execute strSQL
Next rowtable
End With
MsgBox "Insert with success " & Trim(Str(rowtable - 2)) & " records", _
vbInformation, "Verification Data Entry"
ErrHandler:
If Err.Description <> "" And Err.Source <> "" Then
MsgBox Err.Description, vbCritical, Err.Source
End If
End Sub
'remove dangerous characters
Function esc(txt As String)
esc = Trim(Replace(txt, "'", "\'"))
End Functionتم تعديل هذه المشاركة بواسطة حسام الشامي في 16 أغسطس 2013 في 14:48 — السبب: تنسيق الكود بالرمز <>
السلام عليكم ...
نقوم بعمل update فإذا لم يكن هناك سجل موجود نقوم بعمل Insert ... على فرض أنه لدينا عمود ترقيم تلقائي هو column1 ..
Sub InsertIntoMySQL()
Dim height As Long
Dim rowtable As Long
Dim strSQL As String
Dim oConn As ADODB.Connection
Dim rs As ADODB.Recordset
'On Error GoTo ErrHandler
Set rs = New ADODB.Recordset
Set oConn = New ADODB.Connection
oConn.Open "DRIVER={MySQL ODBC 5.2 ANSI Driver};" & _
"SERVER=localhost;" & _
"DATABASE=mydb;" & _
"USER=root;" & _
"PASSWORD=root;" & _
"Option=3"
'number of rows with records
height = Worksheets("Sheet1").UsedRange.Rows.Count
height = 3
'insert data into SQL table
Dim recordsAffected As Long
With Worksheets("Sheet1")
For rowtable = 2 To height
x1 = esc(Trim(.Cells(rowtable, 1).Value))
x2 = esc(Trim(.Cells(rowtable, 2).Value))
x3 = esc(Trim(.Cells(rowtable, 3).Value))
strSQL = "UPDATE M1 SET column2 = '" & x2 & "', column3 = '" & x3 & "' WHERE column1 ='" & x1 & "'"
oConn.Execute strSQL, recordsAffected
'MsgBox "recordsAffected=" & recordsAffected
If recordsAffected = 0 Then
strSQL = "INSERT INTO M1 (column1, column2, column3) " & _
"VALUES ('" & x1 & "', '" & x2 & "', '" & x3 & "')"
oConn.Execute strSQL, recordsAffected
End If
Next rowtable
End With
MsgBox "Insert with success " & Trim(Str(rowtable - 2)) & " records", _
vbInformation, "Verification Data Entry"
ErrHandler:
If Err.Description <> "" And Err.Source <> "" Then
MsgBox Err.Description, vbCritical, Err.Source
End If
End Subكان يمكن استخدام العبارة Insert on duplicate رابط .
تم تعديل هذه المشاركة بواسطة حسام الشامي في 16 أغسطس 2013 في 15:36
لا إله إلا الله ... محمد رسول الله
لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة
المعرًف القديم : houssam11350_11350
من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر
الف الف شكر اخي حسام علي مساعدتك لي
طلب اتمنا عملة هو تعديل هذا ملف الاكسل فية 36 عمود و 164 صف حاولت اضيفها في نفس الكود لكن لم اعرف كيف اضيفها ياليت تعدل لي نفس ملف الاكسل
الكود الذي ارفقتة لي
1- عملت قاعدة بيانات


2- عملت تحرير في خلايا الاكسل 3 اعمدة

3- شغلت المكرو فا ظهرت لي رسالة الخطاء

اتمنا تعديل الملف الذي ارفقتة لانة فية كل الاعمدة التي احتاج تعمل مع قاعدة البيانات لانني لا اعرف كيف اضيف اعمدة جديدة في الكود و حل رسالة الخطاء
تم تعديل هذه المشاركة بواسطة etheer في 16 أغسطس 2013 في 18:12
السلام عليكم ..
اجعل السطر هكذا :
oConn.Open "DRIVER={MySQL ODBC 5.2 ANSI Driver};SERVER=localhost;DATABASE=etheer;USER=root;PASSWORD=1234;Option=3"بسطر واحد
و اضف الدالة :
Function esc(txt As String) esc = Trim(Replace(txt, "'", "\'")) End Function
هل كل سطر بالاكسل هو سجل في الــ MYSQL أم أنك تتعامل معه على اعتبار كل ثلاثة اعمدة يمثلون سجل بالــ MYSQL .؟
لا إله إلا الله ... محمد رسول الله
لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة
المعرًف القديم : houssam11350_11350
من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر
بعد التعديل اشتغل الكود لكن حصلت معاية مشكلة
عدلت العمود A من الرقم 1010 الي الرقم 2000
وشغلت الكود

وظهرت رسالة انة تم ادخل البيانات بنجاج
وعندما فتحت قاعدة البيانات

لاحظ انة اضاف صف جديد الذي فية الرقم 2000
نفس المشكلة يكرر ولا يحدث البيانات نفس خلايا
السلام عليكم ..
صديقي .
سألت في مشاركتي السابقة :
اقتباس
هل كل سطر بالاكسل هو سجل في الــ MYSQL أم أنك تتعامل معه على اعتبار كل ثلاثة اعمدة يمثلون سجل بالــ MYSQL .؟
و لم تجبني عليه ..
المشكلة أننا نريد مفتاح أو حقل لربط السجل من الاكسل مع السجل في الــ MYSQL و انا اقترحت عليك وجود حقل ترقيم تلقائي في مشاركة ما قبل سابقة .
أما لماذا يحصل تكرار , فلأنك قمت بتغيير الحقل الذي نربط به و هو موجود بالعبارة WHERE في الجملة UPDATE .
لا إله إلا الله ... محمد رسول الله
لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة
المعرًف القديم : houssam11350_11350
من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر
هل كل سطر بالاكسل هو سجل في الــ MYSQL أم أنك تتعامل معه على اعتبار كل ثلاثة اعمدة يمثلون سجل بالــ MYSQL .؟
اتعامل معاة علي انة كل خلية في الاكسل اريد تحدث نفسها في mysql عندما اغير الخلية في الاكسل و اعمل تحديث للبيانات اريد نفس الخلية هي تتحدث ولا يضيف خلايا جديدة
حسام الشامي كتب:السلام عليكم ..
صديقي .
سألت في مشاركتي السابقة :
و لم تجبني عليه ..
المشكلة أننا نريد مفتاح أو حقل لربط السجل من الاكسل مع السجل في الــ MYSQL و انا اقترحت عليك وجود حقل ترقيم تلقائي في مشاركة ما قبل سابقة .
أما لماذا يحصل تكرار , فلأنك قمت بتغيير الحقل الذي نربط به و هو موجود بالعبارة WHERE في الجملة UPDATE .
ياليت اخي حسام تعدل لي بما يناسب لانني لااعرف كيف اعدلة
اريد فقط انة يحدث الخلايا ولا يضيف صف جديد في قاعدة البيانات mysql
السلام عليكم ...
اقتباسكيف عمل حقل ترقيم تلقائي ؟
كنت اريد ان اضع رقم 1 للسجل الأول و 2 للثاني و 3 للثالث و هكذا .... و لكن لا داعي له الآن ..
Sub InsertIntoMySQL()
Dim height As Long
Dim rowtable As Long
Dim strSQL As String
Dim oConn As ADODB.Connection
Dim rs As ADODB.Recordset
'On Error GoTo ErrHandler
Set rs = New ADODB.Recordset
Set oConn = New ADODB.Connection
oConn.Open "DRIVER={MySQL ODBC 5.2 ANSI Driver};SERVER=localhost;DATABASE=etheer;USER=root;PASSWORD=1234;Option=3"
'number of rows with records
height = Worksheets("Sheet1").UsedRange.Rows.Count
height = 4
'insert data into SQL table
Dim recordsAffected As Long
With Worksheets("Sheet1")
For rowtable = 2 To height
x1 = esc(Trim(.Cells(rowtable, 1).Value))
x2 = esc(Trim(.Cells(rowtable, 2).Value))
x3 = esc(Trim(.Cells(rowtable, 3).Value))
strSQL = "UPDATE M1 SET column1 = '" & x1 & "', column2 = '" & x2 & "', column3 = '" & x3 & "' WHERE id ='" & rowtable & "'"
oConn.Execute strSQL, recordsAffected
If recordsAffected = 0 Then
strSQL = "INSERT INTO M1 (id ,column1, column2, column3) " & _
"VALUES ('" & rowtable & "','" & x1 & "', '" & x2 & "', '" & x3 & "')"
oConn.Execute strSQL, recordsAffected
End If
Next rowtable
End With
MsgBox "Insert with success " & Trim(Str(rowtable - 2)) & " records", _
vbInformation, "Verification Data Entry"
ErrHandler:
If Err.Description <> "" And Err.Source <> "" Then
MsgBox Err.Description, vbCritical, Err.Source
End If
End Sub
'remove dangerous characters
Function esc(txt As String)
esc = Trim(Replace(txt, "'", "\'"))
End Function ارجو ان يعمل .
تم تعديل هذه المشاركة بواسطة حسام الشامي في 16 أغسطس 2013 في 21:00
لا إله إلا الله ... محمد رسول الله
لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة
المعرًف القديم : houssam11350_11350
من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر
عملت اعددات قاعدة البيانات بهذا الشكل




فظهر لي هذا الخطاء
ايضاء عملت اعددات قاعدة البيانات بهذا الشكل



فا ظهرت لي هذة الرسالة الخطاء
السلام عليكم ...
:huh:
صديقي .. يجب أن يكون لديك جدول واحد اسمه M1 و فيه الحقول :
id - column1 - column2 - column3
و ليس ما قمت به .
بالنسبة للخطأ الثاني .. اجعل كل السلاسل النصية في سطر واحد .
strSQL = "INSERT INTO M1 (id ,column1, column2, column3) VALUES ('" & rowtable & "','" & x1 & "', '" & x2 & "', '" & x3 & "')"لا إله إلا الله ... محمد رسول الله
لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة
المعرًف القديم : houssam11350_11350
من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر



قم بإضافة حقل للجدول و ليكن اسم الحقل id و هو سيكون حقل الربط .
لم افهم هذة الجملة فا عملت اكثر من اعداد لقاعدة البيانات
اي واحدة تقصد من الاعدادت التي في الصور ام ليس بينها الذي تقصدة بهذة العبارة
السلام عليكم ..
الصورة التي وضعتها هي الصورة الصحيحة ..
و الكود :
Sub InsertIntoMySQL()
Dim height As Long
Dim rowtable As Long
Dim strSQL As String
Dim oConn As ADODB.Connection
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Set oConn = New ADODB.Connection
oConn.Open "DRIVER={MySQL ODBC 5.2 ANSI Driver};SERVER=localhost;DATABASE=etheer;USER=root;PASSWORD=1234;Option=3"
height = Worksheets("Sheet1").UsedRange.Rows.Count
height = 4
Dim recordsAffected As Long
With Worksheets("Sheet1")
For rowtable = 2 To height
x1 = esc(Trim(.Cells(rowtable, 1).Value))
x2 = esc(Trim(.Cells(rowtable, 2).Value))
x3 = esc(Trim(.Cells(rowtable, 3).Value))
strSQL = "UPDATE M1 SET column1 = '" & x1 & "', column2 = '" & x2 & "', column3 = '" & x3 & "' WHERE id ='" & rowtable & "'"
oConn.Execute strSQL, recordsAffected
If recordsAffected = 0 Then
strSQL = "INSERT INTO M1 (id ,column1, column2, column3) VALUES ('" & rowtable & "','" & x1 & "', '" & x2 & "', '" & x3 & "')"
oConn.Execute strSQL, recordsAffected
End If
Next rowtable
End With
MsgBox "Insert with success " & Trim(Str(rowtable - 2)) & " records", vbInformation, "Verification Data Entry"
ErrHandler:
If Err.Description <> "" And Err.Source <> "" Then
MsgBox Err.Description, vbCritical, Err.Source
End If
End Sub
Function esc(txt As String)
esc = Trim(Replace(txt, "'", "\'"))
End Functionلا إله إلا الله ... محمد رسول الله
لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة
المعرًف القديم : houssam11350_11350
من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر
مشاء الله عليك يا حسام
الان اشتغل الكود ويحدث ولا يكرر صفوف جديدة لكن في مشكلة في الترتيب

