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

مشكلة في أداة Combo box

مغلق
بدأه Dove في 13 مايو 2006 · 18 رد · 2,550 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اخواني الاعزاء .... واجهتني مشكلة لا اعرف لها حل بالرغم من انني اشتغلت قبل ذلك...

المهم انني استخدمت اداة combo box لعرض محتويات جدول معين في قاعدة البيانات ولكن للاسف بدون نتيجة

هااااي الكو اللي استخدمته

طبعا هااي الكود في الموديول

Set mydb = DBEngine.Workspaces(0).OpenDatabase(App.Path & "\hamada97.mdb")

Set myitems = mydb.OpenRecordset("Items", dbOpenTable)

وهاااي الكود في الصفحة في لوود

SQL = "select ItemName from Items"

Set myitems = mydb.OpenRecordset(SQL, dbOpenDynaset)

For i = 1 To n

Combo1.AddItem items!ItemName

items.MoveNext

Next i

ارجو الافادة

#2

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

لا أرى مشلكة في الكود سوى هذا الخطأ

Combo1.AddItem items!ItemName

يجب ان يكون

Combo1.AddItem myitems!ItemName

!!

شارك معنا في (عمل مشاريع برمجيه بمشاركة جميع الأعضاء هنا, مشاريع برمجية كاملة)

من سجن عكا وطلعــت جنـازة...

محمد جمجوم و فؤاد حجـازي

جازي عليهم يا شعبــي جازي...المندوب السامي وربعه عموما

محمد جمجوم ومع عطا الزير...فؤاد حجـــــــــازي عز الذخيـره

فلـسطـين

#3

أخي الكريم إستعمل كذلك الخاصية

cstring()

وذلك لتفادي نقل خاطئ للمعلومات من الجداول

موفق

الحاج نقبيل

برمجة عامة .

#4

اخي العزيز Meynot

لقد كنت اجرب ايضا هذا الكود وكانت تخرج لي الرسالة

Set myitems = mydb.OpenRecordset("items", dbOpenTable)

في الموديول

فماذا على ان افعل

أخي العزيز elhadj

ارجو ان تفيدني عن هذة الخاصية

حيث لا اعلم الكثير

وبارك الله فيك

#5

أخي الكريم .. ماهي رسالة الخطأ ؟؟؟

من سجن عكا وطلعــت جنـازة...

محمد جمجوم و فؤاد حجـازي

جازي عليهم يا شعبــي جازي...المندوب السامي وربعه عموما

محمد جمجوم ومع عطا الزير...فؤاد حجـــــــــازي عز الذخيـره

فلـسطـين

#6

السلام عليكم

ارجو ان لا اكون قد اثقلت عليكم

هي ليست برسالة ولكنها اشرة خطا في التعاريف في الموديول وهي

Set myitems = mydb.OpenRecordset("items", dbOpenTable)

ما هي المشكلة التي قد تكون

#7

أخي الكريم ..

ضع مثالا للكود .. حقيقة لم أفهم المقصود :(

اما بالنسبة للكود المذكور فهو صحيح من رأيي.. ولكن لا أستطيع الحكم عليه من مجرد سطر مكتوب.. لأن المتغيرات المذكوره قد تكون فيها أخطاء!!

من سجن عكا وطلعــت جنـازة...

محمد جمجوم و فؤاد حجـازي

جازي عليهم يا شعبــي جازي...المندوب السامي وربعه عموما

محمد جمجوم ومع عطا الزير...فؤاد حجـــــــــازي عز الذخيـره

فلـسطـين

#8

المشكلة غير واضحة بالمرة ..

بالنسبة للكود الذي ذكرت أنك تضعه في الـ module

أين وضعته في الـ Module بالضبط ؟؟

طبعاً لا يمكن إضافته إلى الـ Module مباشرة وإنما يجب إضافته إلى إجراء فرعي أو ما شابه ..

ولماذا لا يتم إضافته إلى تحميل النموذج ؟؟

كما أنك لم تذكر إذا ما كنت كنت وضعت كوداً يوضح نوع المتغيرين mydb و myitems سابقاً أم لا !!

ani.gif
#9

السلام عليكم

ارجو معذرتي ولكن هذا هو الكود اللي مكتوب داخل الموديول

Public mydb As Database

Public mytb As Recordset

Public myitems As Recordset

Private Sub main()

Set mydb = DBEngine.Workspaces(0).OpenDatabase(App.Path & "\hamada97.mdb")

Set mytb = mydb.OpenRecordset("Orders", dbOpenTable)

Set myitems = mydb.OpenRecordset("items", dbOpenTable)

FrmMain.Show

اما بالنسبة للكود داخل اللود للشاشة الرئيسية فهو كالتالي

Private Sub Form_Load()

SQL = "select ItemName from Items"

Set myitems = mydb.OpenRecordset(SQL, dbOpenDynaset)

For i = 1 To n

Combo1.AddItem myitems !ItemName

myitems .MoveNext

Next i

Call gridd

End Sub

#10

السلام عليكم

هل هناك خطا ما في الكود السابق مما ادهى عدم الرد على المشكلة المطروحة

رجاء افادتي ولكم جزيل الشكر

#11
Public mydb As Database
Public mytb As Recordset
Public myitems As Recordset


Private Sub main()
Set mydb = DBEngine.Workspaces(0).OpenDatabase(App.Path & "\hamada97.mdb")
Set mytb = mydb.OpenRecordset("Orders", dbOpenTable)
							Set myitems = mydb.OpenRecordset("items", dbOpenTable) '//   مكرر
FrmMain.Show

اما بالنسبة للكود داخل اللود للشاشة الرئيسية فهو كالتالي
أختر أحداها فقط وأعتقد انه من المنطقي أن تختار الكود الأسفل وتمحي الكود المكتوب عليه مكرر
Private Sub Form_Load()
SQL = "select ItemName from Items"
Set myitems = mydb.OpenRecordset(SQL, dbOpenDynaset)	'// لماذا هذا التكرار؟؟؟؟؟؟؟
For i = 1 To n
Combo1.AddItem myitems !ItemName
myitems .MoveNext
Next i
Call gridd
End Sub

من سجن عكا وطلعــت جنـازة...

محمد جمجوم و فؤاد حجـازي

جازي عليهم يا شعبــي جازي...المندوب السامي وربعه عموما

محمد جمجوم ومع عطا الزير...فؤاد حجـــــــــازي عز الذخيـره

فلـسطـين

#12

السلام عليكم

عندما قمت بحذف الجملة المكررة داخل الكود وقمت بتشغيل البرنامج

ظهرت لي رسالة الخظا التالية في الموديول وهي

24_05_06_09_00_07_1148486407pro.jpg

لمااااذا

#13

لا أرى أي رسالة خطأ

فضلاً اكتب محتوى الرسالة......

لا يمكن الكشف عن خطأ في الكود المذكور ...!

فضلاً ضع الكود او مثال واضحاً ...

شارك معنا في (عمل مشاريع برمجيه بمشاركة جميع الأعضاء هنا, مشاريع برمجية كاملة)

من سجن عكا وطلعــت جنـازة...

محمد جمجوم و فؤاد حجـازي

جازي عليهم يا شعبــي جازي...المندوب السامي وربعه عموما

محمد جمجوم ومع عطا الزير...فؤاد حجـــــــــازي عز الذخيـره

فلـسطـين

#14

السلام عليكم

لا اقصد برسالة الخطا سوى العلامة الصفراء في سطر كامل في الموديول والتي تؤدي الى توقف البرنامج عن العمل عند تشغيله

والسطر موجود بالمشاركة السابقة

ولك الشكر

#15

السلام عليكم

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

رجاء افيدوني لان هناك عمل تخر متعلق بنجاح هذا الكود

ولكم الشكر

#16

نحن نحاول المساعدة :D

ولكن لابد أن تكون هناك رسالة خطأ ..

على أي حال ضع مثالاً بسيطاً يحتوي على المشكلة لكي نتعرف عليها أولاً ثم نحاول حلها ..

وبالتوفيق ..

ani.gif
#17

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

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

اكواد تكتب في module

اولا يتم تعرف متغير للاتصال بقاعدة البيانات cn , ومتغير للتعامل مع السجلات rs

Global CN As New ADODB.Connection
Global rs As New ADODB.Recordset

مسار قاعدة البيانات

Public Sub Main()
With CN
.Provider = "MICROSOFT.JET.OLEDB.4.0"
.ConnectionString = App.Path & "\DATA.MDB"
.CursorLocation = adUseClient
.Open
End With
START.Show 1

فتح الاتصال بقاعدة البيانات

Public Sub rs_state(ByVal rs As ADODB.Recordset)
If rs.State = adStateOpen Then rs.Close
rs.Open s1, CN, 1, 3
End Sub

تعبئة الكمبو في الفورم لود

s1 = "select ItemName from Items"
Call rs_state(rs)
Do While Not rs.EOF
Combo2.AddItem rs!ItemName

rs.MoveNext
Loop

اتمنى ان تفي بالغرض

تم تعديل هذه المشاركة بواسطة عبدالجليل العقوري في 2 يونيو 2006 في 00:50

"نحن لا نستسلم... ننتصر أو نموت.... وهذه ليست النهاية... بل سيكون عليكم أن تحاربوا الجيل القادم والاجيال التي تليه... اما أنا... فإن عمري سيكون أطول من عمر شانقي."

عمر المختار

اللهم انعم على بلادي بالأمن والأمان

#18

اللسلام عليكم

قبل ان اضع كل التفاصيل بالكود عن الموضوع اللي عامل مشكلة اردت ان اجرب الطريقة التي وضعها لي الاستاذ عبد الجليل العقوري

وانني اتقدم له بجزيل الشكر

لقد جربت هذه الطريقة وعند تنفيذ البرنامج وضع لي رسالة مضمونها

Coplie error

User - defind type not defined

وعليه رجاء ما هذه واين هو الخطا مبتغاه

والسلام عليكم

#19

اخوي الكريم اضف اداة اكتف اكس فيه ادة مثل الكمبو اللي تستخدمه بس افضل لانك ماتكتب شفرات بس تضبط شوي خصائص وتعرض كل الحقل المطلوب من الجدول

هذا والله اعلى واعلم واحكم ;)

أتراك عين والعيون لها مدى *** ماجاوزته ولامدى لمداكا

إن لم تكن عيني تراك فإنني *** في كل شيء أستبين علاكا

يامنبت الأزهار عاطرة الشذى *** هذا الشذى الفواح نفح شذاكا

يامجري الأنهار ماجريانها *** الا انفعالة قطرة لنداكا

يارب هذا العصر الحد عندما *** سخرت ياربي له نعماكا

او مادرى الانسان ان جميع ما *** وصلت اليه يداه من نعماكا

لو شئت ياربي هوى صاروخه *** او لو أردت لماستطاع حراكا

فليرض عني الناس او فيسخطوا *** انا لم اعد اسعى لغير رضاكا

ذقت الهوى مرا ولم اذق الهوى *** يارب حلوا قبل ان اهواكا

يارب عدت الى رحابك تائبا *** مستسلما مستمسكا بعراكا

اتردني وترد صادق توبتي؟ *** حاشاك ترفض تائبا حاشاكا

فأقبل دعائي واستجب لرجاوتي*** ماخاب يوما من دعا ورجاكا

ياايها الإنسان مهلا مالذي *** بالله جل جلاله أغراكا؟

فاسجد لمولاك القدير فإنما *** لابد يوما تنتهي دنياكا

---------------------------------------------------------------

لا إله إلا أنت سبحانك إني كنت من الظالمين

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

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