سؤال في فتح الفورم حسب السجل. - hefa - 04-10-12
السلام عليكم. عندي فورمين الفورم الاول به بيانات والفورم الثاني به أزار مثلا لو اضغظ على الزر الاول يفتح لي الفورم الاول السجل الاول والزر الثاني يفتح لي الفورم الاول السجل الثاني وهكذا يعني باختصار يفتح الفورم حسب السجل ولكم جزيل الشكر.
سؤال في فتح الفورم حسب السجل. - سعود - 05-10-12
مثال بسيط
موديول
كود :
Module Module1
Public str As String = "provider=microsoft.ace.oledb.12.0;data source=|datadirectory|\db.accdb"
Public con As New OleDb.OleDbConnection(str)
Public ds As New DataSet
Public sql As String = "select * from tb"
Public da As New OleDb.OleDbDataAdapter(sql, con)
Public pos As Integer = 0
Public Sub fi()
ds.Clear()
Form1.tname.DataBindings.Clear()
Form2.mobile.DataBindings.Clear()
Form3.email.DataBindings.Clear()
da.Fill(ds, "tb")
Form1.tname.DataBindings.Add("text", ds, "tb.tname")
Form2.mobile.DataBindings.Add("text", ds, "tb.mobile")
Form3.email.DataBindings.Add("text", ds, "tb.email")
End Sub
End Module
الفورم الاول (فيد اداة نصية باسم tname)
كود :
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
fi()
mov.Left = Me.Left + Me.Width
Form2.Top = Me.Top + Me.Height
Form3.Top = Form2.Top + Form2.Height
Form2.Show()
Form3.Show()
mov.Show()
End Sub
End Class
وفورمين form2.mobile
form3.email
وفورم اخر للتنقل به زرين
السابق
كود :
Form1.BindingContext(ds, "tb").Position -= 1
Form2.BindingContext(ds, "tb").Position -= 1
Form3.BindingContext(ds, "tb").Position -= 1
اللاحق
كود :
Form1.BindingContext(ds, "tb").Position += 1
Form2.BindingContext(ds, "tb").Position += 1
Form3.BindingContext(ds, "tb").Position += 1
اما المطلوب فاسهل من كذا ان الزر الذي ننقره مخزن به قيمة مانريد الاستعلام عنه فالامر اكثر بساطة ارجو رفع مثالك للتعديل عليه
سؤال في فتح الفورم حسب السجل. - hefa - 06-10-12
المثال في المرفقات يعطيك الف عافية اخوي سعود
ربي يبارك فيك
اللي اريده انه لمن اضغط على زر المنتج الاول يفتح لي بيانات السجل الاول
ولمن اضغط على المنتج الثاني يفتح لي بيانات السجل الثاني وهكذا
سؤال في فتح الفورم حسب السجل. - سعود - 06-10-12
فهمت الحين لكن فيهاستفسار لعلي لفهم اكثر
هل السجلات بعدد معين اي بعدد الازرار؟ .. لاني وجدت زر اضافة فكيف نبرمج للسجل الجديد ؟؟
اقترح بدل طريقة الازرار ان نضيف اداة القائمة اما Combobox or Listbox ونعبئها ببيانات عمود من جدول وعند نقر اي بند يتم اظهار تفاصيله في فورم معين.
مارايك باقتراحي؟
سؤال في فتح الفورم حسب السجل. - سعود - 06-10-12
التعديل اللي انا سويت:
اضفت موديول وكتبت التعريف التالي:
كود :
Public pos As Integer = 0
وعدلت على الفورم التالي:
frm00000.vb
التالي:
انني فقط كتبت
للسجل الاول
والثاني
وهكذا ليكون الفورم هكذا
كود :
Public Class frm00000
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
pos = 0
_1.ShowDialog()
Catch ex As Exception
MsgBox(Err.Description, MsgBoxStyle.Critical, "")
End Try
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Try
pos = 1
_1.ShowDialog()
Catch ex As Exception
MsgBox(Err.Description, MsgBoxStyle.Critical, "")
End Try
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Try
pos = 2
_1.ShowDialog()
Catch ex As Exception
MsgBox(Err.Description, MsgBoxStyle.Critical, "")
End Try
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Try
pos = 3
_1.ShowDialog()
Catch ex As Exception
MsgBox(Err.Description, MsgBoxStyle.Critical, "")
End Try
End Sub
End Class
وآخر حدث تحميل الفورم الاول او فورم التفاصيل كتبت
كود :
Me.BindingContext(DataSet1, "table1").Position = pos
وقمت بكتابة كود التنظيف لمربعات النص في الفورم الخاص بتفاصيل كل منتج
كود :
TextBox1.DataBindings.Clear() TextBox2.DataBindings.Clear()
TextBox3.DataBindings.Clear()
TextBox4.DataBindings.Clear()
TextBox5.DataBindings.Clear()
TextBox6.DataBindings.Clear()
TextBox13.DataBindings.Clear()
TextBox14.DataBindings.Clear()
ليكون الفورم الخاص بالتفاصيل هكذا
كود :
Imports System.DataImports System.Data.OleDb
Imports System.IO
Imports System
Public Class _1
Dim DataAdapter1 As OleDbDataAdapter
Dim FileName As String = String.Empty
Dim ConStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source =" & Application.StartupPath & "\sow.mdb"
Dim Conn As New OleDbConnection(ConStr)
Dim DataSet1 As New DataSet
Dim SQLstr As String = "SELECT * FROM table1"
Public Sub ChangePosition()
Label24.RightToLeft = Windows.Forms.RightToLeft.Yes
Label24.Text = "السجل " & Me.BindingContext(DataSet1, "table1").Position + 1 & _
" من " & Me.BindingContext(DataSet1, "table1").Count
End Sub
Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Me.BindingContext(DataSet1, "table1").Position = Me.BindingContext(DataSet1, "table1").Count - 1
ChangePosition()
End Sub
Private Sub _1_Load_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim DataAdapter1 As New OleDbDataAdapter(SQLstr, Conn)
DataAdapter1.Fill(DataSet1, "table1")
TextBox1.DataBindings.Clear()
TextBox2.DataBindings.Clear()
TextBox3.DataBindings.Clear()
TextBox4.DataBindings.Clear()
TextBox5.DataBindings.Clear()
TextBox6.DataBindings.Clear()
TextBox13.DataBindings.Clear()
TextBox14.DataBindings.Clear()
TextBox1.DataBindings.Add("Text", DataSet1, "table1.Sectionname")
TextBox2.DataBindings.Add("Text", DataSet1, "table1.floor")
TextBox3.DataBindings.Add("Text", DataSet1, "table1.side")
TextBox4.DataBindings.Add("Text", DataSet1, "table1.phone")
TextBox5.DataBindings.Add("Text", DataSet1, "table1.convert1")
TextBox6.DataBindings.Add("Text", DataSet1, "table1.fax")
TextBox13.DataBindings.Add("Text", DataSet1, "table1.email")
TextBox14.DataBindings.Add("Text", DataSet1, "table1.pic")
If TextBox14.Text = "" Then
PictureBox1.Image = Nothing
Else
On Error Resume Next
PictureBox1.Image = Image.FromFile(Application.StartupPath & "\pic\" & TextBox14.Text)
End If
Me.BindingContext(DataSet1, "table1").Position = pos
End Sub
Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs)
End Sub
Private Sub Button1_Click_2(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If MsgBox("هل تريد إضافة معلومات قسم جديد ", vbYesNo + vbQuestion, "إضافة جديدة") = MsgBoxResult.Yes Then
Button1.Enabled = False
Button2.Enabled = True
TextBox1.Clear()
TextBox2.Clear()
TextBox3.Clear()
TextBox4.Clear()
TextBox5.Clear()
TextBox6.Clear()
TextBox13.Clear()
TextBox14.Clear()
End If
TextBox1.Focus()
End Sub
Private Sub Button4_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Try
My.Computer.FileSystem.CopyFile(TextBox14.Text, Application.StartupPath & "\pic\" & IO.Path.GetFileName(TextBox14.Text), True)
Catch ex As Exception
End Try
Try
Dim SavInto As New OleDb.OleDbCommand
If Conn.State = ConnectionState.Open Then Conn.Close()
SavInto.Connection = Conn
SavInto.CommandType = CommandType.Text
SavInto.CommandText = "update table1 SET Sectionname = '" & Trim(TextBox1.Text) & "' , floor = '" & Trim(TextBox2.Text) & "' , side = '" & Trim(TextBox3.Text) & "' , phone = '" & Trim(TextBox4.Text) & "' , Convert1 = '" & Trim(TextBox5.Text) & "' , fax= '" & Trim(TextBox6.Text) & "' , email = '" & (TextBox13.Text) & "' , pic = '" & IO.Path.GetFileName(TextBox14.Text) & "' WHERE Sectionname = '" & (TextBox1.Text) & "'"
Conn.Open()
SavInto.ExecuteNonQuery()
Dim dataadapter As New OleDbDataAdapter(SQLstr, Conn)
DataSet1.Clear()
dataadapter.Fill(DataSet1, "table1")
Conn.Close()
MsgBox("تمت عملية التعديل بنجاح بنجاح")
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
Private Sub Button2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
'My.Computer.FileSystem.CopyFile(TextBox14.Text, Application.StartupPath & "\pic\" & IO.Path.GetFileName(TextBox14.Text))
Try
My.Computer.FileSystem.CopyFile(TextBox14.Text, Application.StartupPath & "\pic\" & IO.Path.GetFileName(TextBox14.Text), True)
Catch ex As Exception
End Try
Try
Dim SavInto As New OleDb.OleDbCommand
'Dim ConStr As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & Application.StartupPath & "\sow.mdb"
'Dim Conn As New OleDbConnection(ConStr)
If Conn.State = ConnectionState.Open Then Conn.Close()
SavInto.Connection = Conn
SavInto.CommandType = CommandType.Text
SavInto.CommandText = "Insert Into table1(Sectionname,floor,side,phone,Convert1,fax,email,pic) Values('" & TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox3.Text & "','" & TextBox4.Text & "','" & TextBox5.Text & "','" & TextBox6.Text & "','" & TextBox13.Text & "','" & IO.Path.GetFileName(TextBox14.Text) & "')"
Conn.Open()
SavInto.ExecuteNonQuery()
Conn.Close()
MsgBox("تمت عملية الاضافة بنجاح")
Button1.Enabled = True
'Me.Close()
Catch ex As Exception
MsgBox(ex.ToString)
'Exit Sub
Button1.Enabled = True
End Try
End Sub
Private Sub Button3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim op As New OpenFileDialog
With op
.Title = "اختار صورة"
.Filter = "Jpg(*.jpg)|*.jpg|Bmp(*.bmp)|*.bmp|Png(*.png)|*.png|Gif(*.gif)|*.gif"
.ShowDialog()
End With
If op.FileName = Nothing Then
Exit Sub
Else
TextBox14.Text = op.FileName
PictureBox1.Image = Image.FromFile(op.FileName)
op.Dispose()
End If
End Sub
Private Sub Button8_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
Me.BindingContext(DataSet1, "table1").Position = 0
ChangePosition()
End Sub
Private Sub Button6_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
Me.BindingContext(DataSet1, "table1").Position += 1
ChangePosition()
End Sub
Private Sub Button7_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
Me.BindingContext(DataSet1, "table1").Position -= 1
ChangePosition()
End Sub
Private Sub Button9_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
Me.BindingContext(DataSet1, "table1").Position = Me.BindingContext(DataSet1, "table1").Count - 1
ChangePosition()
End Sub
Private Sub TextBox14_TextChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox14.TextChanged
Try
If TextBox14.Text.Length > 0 Then
PictureBox1.Image = Image.FromFile(Application.StartupPath & "\pic\" & TextBox14.Text)
Else
PictureBox1.Image = Nothing
End If
Catch ex As Exception
End Try
End Sub
End Class
سؤال في فتح الفورم حسب السجل. - سعود - 06-10-12
هذا طبعا للاخ الاداري بمنتدى فيجوال بيسك وجدت الموضوع بمنتدى الاقصر
السلام عليكم ورحمة الله وبركاته
عند تشغيل مشاريع 2010 على اصدار اقدم نجد ان به اخطا نتيجة لأنه على اصدار اقدم وكود الاسيمبلى والديزان بها مشاكل لذلك سنتعرف حل حل بسيط
طريقة تشغيل مشاريع 2010 الى اصدارات اقدم 2008 & 2005
افتح مشرع جديد من فيجول 2008 فقط بدون ام تعمل شيئ به
فقط غير اسم الفروم من (name) وليس التكست
او من solution explorer
بحيث يكون الاسم غير اسم الفرومات التى ستضاف من مشروع 2010
من قائمة project اختار add Existing item سيفتح لك مربع حوارى
اذهب للمشروع المبرمج ب 2010 الى تريد تشغيله على 2008 او 2005
من المربع الحوارى واذهب لمجلد الفرومات بمشروع 2010 ستجد لكل فروم 3 ملفات كما فى الصورة
حدد الملفات لكل الفرومات ثم اضغط على add
سيتجد الان الفرمات الجديدة فى solution explorer
من قائمة project اختار اخر خيار لخصائص المشروع
من startup form اختار الفروم الذى سيبدأ به المشروع مثل ما كان فى 2010
جرب التشغيل الان
بالتوفيق
[/HR]يوجد اداة تقوم بتحويل المشاريع من مايكروسوفت
الاداة سهل العمل عليها ولا تحتاج لشرح
يمكن التحميل من المرفق
لأى استفسارات عن الاداة موجود باذن الله
انا استخدم الاداة منذ فترة بجد لا حدث اى مشاكل
يمكنكم استخدام الاداة او بالطريقة التى بالاعلى
---------------------------------------------------------------------------------
----------------------------------------------------------------------
الملفات المرفقة
converter.zip (الحجم : 23.61 KB / التحميلات : 1)
الملف المرفق اعلاه هذا للتحويل بين اصدارات المشاريع
سؤال في فتح الفورم حسب السجل. - hefa - 06-10-12
يعطيك ربي الف عافية ياخوي سعود
لقد طبقت طريقتك خطوة خطوة وضبطت معايه
تسلم يالغالي
سؤال في فتح الفورم حسب السجل. - سعود - 07-10-12
hefa كتب :يعطيك ربي الف عافية ياخوي سعود
لقد طبقت طريقتك خطوة خطوة وضبطت معايه
تسلم يالغالي
الله يعافيك
احلى شي ان الواحد يعرف نتيجة مجهوده افاد ام لا
|