تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] ممكن مساعدة بسيطة لو تكرمتكم
#1
أخواني الكرام انا جديد على فيجول بيسك ومحاول فهمه عن طريق اليوتيوب وبعض المواقع ..على العموم عندي استسفار .. بعد ماكتبت الكود من احد اليوتيوبات وعملت خلط ونقل..
المهم الكود اشتغل ولكن لا يعطيني البيانات صحيحة..

وضعت في برنامج الاكسس ستة حقول وهي (billID-Consignee-delivery_Point-description-received_date)..

وفتحت فورم جديد ووضعت 6 (textbox)
على أن يكون billID هو المكان الذي اذا اضع فيه رقم الايدي يستخرج بقية البيانات والمشكلة لا يعطيني بيانات صحيحة بمعنى يذهب لحقل واحد فقط مهما كتبت الايدي الموجود في الاكسس...

وهذا هو الكود..
Imports System.Data.OleDb
Public Class Form1
Dim con As New OleDbConnection
Dim ds As New DataSet
Dim dt As New DataTable
Dim da As New OleDbDataAdapter
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.Text = "" Then
MsgBox("Please input the ID")
Else
con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\RIT\Desktop\dis\ontcoman.accdb"
con.Open()
ds.Tables.Add(dt)
da = New OleDbDataAdapter("select * from users", con)
da.Fill(dt)
If dt.Rows.Count > 0 Then
TextBox2.Text = dt.Rows(0).Item("tel_No")
TextBox3.Text = dt.Rows(0).Item("Consignee")
TextBox4.Text = dt.Rows(0).Item("delivery_Point")
TextBox5.Text = dt.Rows(0).Item("description")
TextBox6.Text = dt.Rows(0).Item("received_date")
Else
MsgBox("ID not Found")
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""

End If
End If
con.Close()
End Sub

End Class


الملفات المرفقة صورة/صور
   
الرد }}}
تم الشكر بواسطة:
#2
لو نفترض معي 1000 Id
اريد اكتب ايدي موجود في الاكسس ويعطيني بقية بياناته المرتبطة بالايدي نفسه
الرد }}}
تم الشكر بواسطة:
#3
بما أنه استعلام يجب أن تعدل جملة الشرط كالتالي:
كود :
da = New OleDbDataAdapter("select * from users Where billID=" & TextBox1.Text & "" , con)

لأنو جملة الشرط اللي انت واضعها (select * from users) بتجيب كل السجلات (فلنفرض عددها 100 سجل) وبعد ما يجلبها بيعرض في الـ Textbox أول سجل أو آخر سجل.
(وَقُل رَّبِّ زِدْنِي عِلْمًا)

الرد }}}
تم الشكر بواسطة: Omar Mekkawy , المشاعر
#4
شكرا لك أخي الكريم وبارك الله فيك وجعله الله في ميزان حسناتك ووفقك في كل خطوة تخطوها في حياتك وينصرك أينما تكون
الرد }}}
تم الشكر بواسطة:
#5
أنحلت المشكلة الاولى ولله الحمد ولكن ظهرت مشكلة اخرى وهي ..
إذا وضعت رقم مثلا 4 يستدعي البيانات يعمل وإذا اغلقت البرنامج ووضعت رقم 3 مثلا يعمل..وهكذا فهذا متعب إذا اغلق البرنامج وأعمل استداع..

اريد يكون البرنامج شغال وفي أي وقت اعمل استداع ولا يعطيني مشكلة..

المشكلة هي عندما وضعت رقم 4 اشتغل البرنامج وعندما وضعت بعدها رقم 3 اعطاني هذه المشكلة التي بالصورة ...


وجزاك الله خيرا اخي kslawy


الملفات المرفقة صورة/صور
   
الرد }}}
تم الشكر بواسطة:
#6
معني الرسالة ان الجدول موجود بالفعل في الـ DataSet لذلك يجب تفريغها من أي جداول عند كل استعلام بهذا الكود:

كود :
ds.Clear()

تضع الجزئية اعلاه قبل كود ملء الداتاست بالجدول كالتالي:

كود :
ds.Clear()
ds.Tables.Add(dt)
(وَقُل رَّبِّ زِدْنِي عِلْمًا)

الرد }}}
تم الشكر بواسطة: سعود
#7
مرحبا بأهلي اهل سلطنه عمان وكل الاخوة
بالاضافه الي كود الاخ كسلاوي
يمكن ملئ dataset في حدث Load_form
وجرب الكود الاتي
PHP كود :
dim q =(from i in ds.table(0select i 
microsoft partner
Team administrator
MCPD,MCITP,OCP,MP,MCC
Xprema Systems
الرد }}}
تم الشكر بواسطة: kslawy , المشاعر
#8
(27-07-14, 11:31 PM)kslawy كتب : معني الرسالة ان الجدول موجود بالفعل في الـ DataSet لذلك يجب تفريغها من أي جداول عند كل استعلام بهذا الكود:

كود :
ds.Clear()

تضع الجزئية اعلاه قبل كود ملء الداتاست بالجدول كالتالي:

كود :
ds.Clear()
ds.Tables.Add(dt)

شكرا لك أخي الكريم وبارك الله فيك وفي إضافتك وفي ميزان حسناتك ..وان شاء الله نتعلم نتعلم منكم الكيثر
الرد }}}
تم الشكر بواسطة:
#9
شكرا على تعاونكم اخواني الكرام.. وفي ميزان حسناتكم يارب..

في الفورم الواضح في الصورة لما وضعت رقم 12 في bill Number وضغطت search ظهرت بقية المعلومات..
وبعد تنظيف Textbox لكي اضع الرقم التالي في نفس الفورم بدون غلقه تظهر هذه المشكلة في المرفق مع اني وضعت الكود (ds.Clear()) كما هو مبين في الصورة

اللي اريده هو أن هذه المشكلة لا تظهر عندما اضع اي bill Number في كل حين


الملفات المرفقة صورة/صور
       
الرد }}}
تم الشكر بواسطة:
#10
الافضل تضع الكود كامل في تحميل الفورم Load_form

وتضع كود الاستعلام في الزر

da = New OleDbDataAdapter("select * from users Where billID=" & TextBox1.Text & "" , con)
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم