المشاركات : 23
المواضيع 5
الإنتساب : Mar 2016
السمعة :
0
الشكر: 2
تم شكره 3 مرات في 3 مشاركات
بسم الله الرحمن الرحيم
أخوتي الكرام
أحتاج إلى كود يقوم بعرض آخر سجل محفوظ في قاعدة البيانات من نوع أكسس 2003
وكما أحتاج لكود يقوم بالتنقل بين عناصر الفورم مثلا :
يكون الاختاير لـ TextBox1 عند الضغط على أحد الأزرار و يعد الانتهاء من كتابة ما أريد أضغط Enter فينتقل المؤشر إلى الـ TextBox2 و هكذا
.
.
و لكم جزيل الشكر
المشاركات : 7,391
المواضيع 803
الإنتساب : Sep 2013
السمعة :
846
الشكر: 13249
تم شكره 18795 مرات في 4414 مشاركات
لعرض اخر سجل هو بالانتقال لاخر موضع للسجلات وهذا على حسب كيفية ربطك للادوات.
ارفع مثال بسيط للتعديل عليه.
المشاركات : 23
المواضيع 5
الإنتساب : Mar 2016
السمعة :
0
الشكر: 2
تم شكره 3 مرات في 3 مشاركات
كود :
Imports System.Data.OleDb
Imports System.Data
Public Class Form1
Dim connstr As String = "provider=microsoft.jet.oledb.4.0;data source=" & Application.StartupPath & "\Data.mdb;user id=admin;jet oledb:database password=987"
Dim conn As New OleDbConnection(connstr)
Dim ds As New DataSet
Dim da As OleDbDataAdapter
Dim cmd As New OleDbCommand
Dim sqlstr As String = "select * from WInput"
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Form2.Show()
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
conn.Open()
Dim da As New OleDbDataAdapter(sqlstr, conn)
da.Fill(ds, "WInput")
conn.Close()
DataGridView1.DataSource = ds
DataGridView1.DataMember = "WInput"
DataGridView1.Refresh()
DataGridView1.Columns(0).Visible = False
DataGridView1.Columns(1).HeaderText = "1"
DataGridView1.Columns(2).HeaderText = "2"
DataGridView1.Columns(3).HeaderText = "3"
DataGridView1.Columns(4).HeaderText = "4"
DataGridView1.Columns(5).HeaderText = "5"
DataGridView1.Columns(6).HeaderText = "6"
DataGridView1.Columns(7).HeaderText = "7"
DataGridView1.Columns(8).HeaderText = "8"
DataGridView1.Columns(1).Width = 50
DataGridView1.Columns(3).Width = 200
DataGridView1.Columns(6).Visible = False
DataGridView1.Columns(7).Width = 85
DataGridView1.Columns(8).Width = 50
DataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
DataGridView1.MultiSelect = False
With Me.DataGridView1
.RowsDefaultCellStyle.BackColor = Color.Bisque
.AlternatingRowsDefaultCellStyle.BackColor = Color.Beige
End With
TextBox1.Focus()
End Sub
أخي الكريم هذا هو الكود الذي أعمل عليه
المشاركات : 7,391
المواضيع 803
الإنتساب : Sep 2013
السمعة :
846
الشكر: 13249
تم شكره 18795 مرات في 4414 مشاركات
06-04-16, 04:04 PM
(آخر تعديل لهذه المشاركة : 06-04-16, 04:06 PM {2} بواسطة سعود.)
PHP كود :
Me.BindingContext(ds, "WInput").Position = Me.BindingContext(ds, "WInput").count-1
هذا للانتقال لاخر صف في الداتاست
ولو اردت التنقل
PHP كود :
Me.BindingContext(ds, "WInput").Position += 1
للتالي
وللسابق
PHP كود :
Me.BindingContext(ds, "WInput").Position -= 1
ولاول سجل
PHP كود :
Me.BindingContext(ds, "WInput").Position = 0
المشاركات : 23
المواضيع 5
الإنتساب : Mar 2016
السمعة :
0
الشكر: 2
تم شكره 3 مرات في 3 مشاركات
06-04-16, 04:56 PM
(آخر تعديل لهذه المشاركة : 06-04-16, 05:00 PM {2} بواسطة AL - WafaaPro.)
لك جزيل الشكر أخي الكريم
بارك الله بك و بمساعدتك
أرجو الإفادة أيضا بكيفية التنقل بين الـ TextBox عن طريق زر Enter
المشاركات : 54
المواضيع 16
الإنتساب : Sep 2013
السمعة :
1
الشكر: 34
تم شكره 25 مرات في 10 مشاركات
(06-04-16, 04:56 PM)AL - WafaaPro كتب : لك جزيل الشكر أخي الكريم
بارك الله بك و بمساعدتك
أرجو الإفادة أيضا بكيفية التنقل بين الـ TextBox عن طريق زر Enter
Private Sub TxtQty_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TxtQty.KeyDown
If e.KeyCode = Keys.Enter AndAlso Not TxtQty.Text = String.Empty Then
TxtSell1.Focus()
End If
المشاركات : 7,391
المواضيع 803
الإنتساب : Sep 2013
السمعة :
846
الشكر: 13249
تم شكره 18795 مرات في 4414 مشاركات
اول شي رتب الـTabindex من خصائص الادوات يعني اول مربع نص اجعله 0 والثاني 1 والثالث 2 واجعل زر الامر اخر رقم وهنا 3
PHP كود :
Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown, TextBox2.KeyDown, TextBox3.KeyDown If e.KeyData = Keys.Enter Then SendKeys.Send("{Tab}") End If End Sub
المشاركات : 22
المواضيع 11
الإنتساب : Apr 2016
السمعة :
0
الشكر: 0
تم شكره 13 مرات في 12 مشاركات
06-04-16, 06:04 PM
(آخر تعديل لهذه المشاركة : 06-04-16, 06:14 PM {2} بواسطة ghaner joseph.)
أيضا يوجد هذا الكود لتنقل مابين المربعات النص:
Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean
If keyData = Keys.Enter Then
("{SendKeys.Send("{tab
End If
End Function
وأيصا يوجد بهذه الطريقة:
Private Sub TextBox10_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox10.KeyPress
If Asc(e.KeyChar) = 13 Then
()TextBox11.Focus
End If
End Sub
Private Sub TextBox11_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox11.KeyPress
If Asc(e.KeyChar) = 13 Then
() TextBox12.Focus
End If
End Sub
Private Sub TextBox8_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox8.KeyPress
If Asc(e.KeyChar) = 13 Then
() TextBox9.Focus
End If
End Sub
(06-04-16, 03:54 PM)AL - WafaaPro كتب :
كود :
Imports System.Data.OleDb
Imports System.Data
Public Class Form1
Dim connstr As String = "provider=microsoft.jet.oledb.4.0;data source=" & Application.StartupPath & "\Data.mdb;user id=admin;jet oledb:database password=987"
Dim conn As New OleDbConnection(connstr)
Dim ds As New DataSet
Dim da As OleDbDataAdapter
Dim cmd As New OleDbCommand
Dim sqlstr As String = "select * from WInput"
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Form2.Show()
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
conn.Open()
Dim da As New OleDbDataAdapter(sqlstr, conn)
da.Fill(ds, "WInput")
conn.Close()
DataGridView1.DataSource = ds
DataGridView1.DataMember = "WInput"
DataGridView1.Refresh()
DataGridView1.Columns(0).Visible = False
DataGridView1.Columns(1).HeaderText = "1"
DataGridView1.Columns(2).HeaderText = "2"
DataGridView1.Columns(3).HeaderText = "3"
DataGridView1.Columns(4).HeaderText = "4"
DataGridView1.Columns(5).HeaderText = "5"
DataGridView1.Columns(6).HeaderText = "6"
DataGridView1.Columns(7).HeaderText = "7"
DataGridView1.Columns(8).HeaderText = "8"
DataGridView1.Columns(1).Width = 50
DataGridView1.Columns(3).Width = 200
DataGridView1.Columns(6).Visible = False
DataGridView1.Columns(7).Width = 85
DataGridView1.Columns(8).Width = 50
DataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
DataGridView1.MultiSelect = False
With Me.DataGridView1
.RowsDefaultCellStyle.BackColor = Color.Bisque
.AlternatingRowsDefaultCellStyle.BackColor = Color.Beige
End With
TextBox1.Focus()
End Sub
أخي الكريم هذا هو الكود الذي أعمل عليه
المشاركات : 249
المواضيع 2
الإنتساب : Apr 2016
السمعة :
34
الشكر: 342
تم شكره 290 مرات في 187 مشاركات
عن تجربة بعض انظمة التشغيل ما تسمح باستخدام SendKeys.Send
فتعديلا على كود الاخ ghaner joseph
كود :
Protected Overrides Function ProcessCmdKey(ByRef msg As Message, ByVal keyData As Keys) As Boolean
If keyData = Keys.Enter Then Me.SelectNextControl(ActiveControl, True, True, True, True)
End Function
بشرط أن لا يكون أحد ادوات TextBox متعدد الأسطر يعني لازم يكون Multiline = False
المشاركات : 22
المواضيع 11
الإنتساب : Apr 2016
السمعة :
0
الشكر: 0
تم شكره 13 مرات في 12 مشاركات
06-04-16, 06:24 PM
(آخر تعديل لهذه المشاركة : 06-04-16, 07:06 PM {2} بواسطة ghaner joseph.)
(06-04-16, 06:04 PM)ghaner joseph كتب : أيضا يوجد هذا الكود لتنقل مابين المربعات النص:
Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean
If keyData = Keys.Enter Then
("{SendKeys.Send("{tab
End If
End Function
وأيصا يوجد بهذه الطريقة:
Private Sub TextBox10_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox10.KeyPress
If Asc(e.KeyChar) = 13 Then
()TextBox11.Focus
End If
End Sub
Private Sub TextBox11_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox11.KeyPress
If Asc(e.KeyChar) = 13 Then
() TextBox12.Focus
End If
End Sub
Private Sub TextBox8_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox8.KeyPress
If Asc(e.KeyChar) = 13 Then
() TextBox9.Focus
End If
End Sub
(06-04-16, 03:54 PM)AL - WafaaPro كتب :
كود :
Imports System.Data.OleDb
Imports System.Data
Public Class Form1
Dim connstr As String = "provider=microsoft.jet.oledb.4.0;data source=" & Application.StartupPath & "\Data.mdb;user id=admin;jet oledb:database password=987"
Dim conn As New OleDbConnection(connstr)
Dim ds As New DataSet
Dim da As OleDbDataAdapter
Dim cmd As New OleDbCommand
Dim sqlstr As String = "select * from WInput"
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Form2.Show()
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
conn.Open()
Dim da As New OleDbDataAdapter(sqlstr, conn)
da.Fill(ds, "WInput")
conn.Close()
DataGridView1.DataSource = ds
DataGridView1.DataMember = "WInput"
DataGridView1.Refresh()
DataGridView1.Columns(0).Visible = False
DataGridView1.Columns(1).HeaderText = "1"
DataGridView1.Columns(2).HeaderText = "2"
DataGridView1.Columns(3).HeaderText = "3"
DataGridView1.Columns(4).HeaderText = "4"
DataGridView1.Columns(5).HeaderText = "5"
DataGridView1.Columns(6).HeaderText = "6"
DataGridView1.Columns(7).HeaderText = "7"
DataGridView1.Columns(8).HeaderText = "8"
DataGridView1.Columns(1).Width = 50
DataGridView1.Columns(3).Width = 200
DataGridView1.Columns(6).Visible = False
DataGridView1.Columns(7).Width = 85
DataGridView1.Columns(8).Width = 50
DataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
DataGridView1.MultiSelect = False
With Me.DataGridView1
.RowsDefaultCellStyle.BackColor = Color.Bisque
.AlternatingRowsDefaultCellStyle.BackColor = Color.Beige
End With
TextBox1.Focus()
End Sub
أخي الكريم هذا هو الكود الذي أعمل عليه
(06-04-16, 06:04 PM)ghaner joseph كتب : أيضا يوجد هذا الكود لتنقل مابين المربعات النص:
Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean
If keyData = Keys.Enter Then
("{SendKeys.Send("{tab
End If
End Function
وأيصا يوجد بهذه الطريقة:
Private Sub TextBox10_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox10.KeyPress
If Asc(e.KeyChar) = 13 Then
()TextBox11.Focus
End If
End Sub
Private Sub TextBox11_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox11.KeyPress
If Asc(e.KeyChar) = 13 Then
() TextBox12.Focus
End If
End Sub
Private Sub TextBox8_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox8.KeyPress
If Asc(e.KeyChar) = 13 Then
() TextBox9.Focus
End If
End Sub
(06-04-16, 03:54 PM)AL - WafaaPro كتب :
كود :
Imports System.Data.OleDb
Imports System.Data
Public Class Form1
Dim connstr As String = "provider=microsoft.jet.oledb.4.0;data source=" & Application.StartupPath & "\Data.mdb;user id=admin;jet oledb:database password=987"
Dim conn As New OleDbConnection(connstr)
Dim ds As New DataSet
Dim da As OleDbDataAdapter
Dim cmd As New OleDbCommand
Dim sqlstr As String = "select * from WInput"
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Form2.Show()
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
conn.Open()
Dim da As New OleDbDataAdapter(sqlstr, conn)
da.Fill(ds, "WInput")
conn.Close()
DataGridView1.DataSource = ds
DataGridView1.DataMember = "WInput"
DataGridView1.Refresh()
DataGridView1.Columns(0).Visible = False
DataGridView1.Columns(1).HeaderText = "1"
DataGridView1.Columns(2).HeaderText = "2"
DataGridView1.Columns(3).HeaderText = "3"
DataGridView1.Columns(4).HeaderText = "4"
DataGridView1.Columns(5).HeaderText = "5"
DataGridView1.Columns(6).HeaderText = "6"
DataGridView1.Columns(7).HeaderText = "7"
DataGridView1.Columns(8).HeaderText = "8"
DataGridView1.Columns(1).Width = 50
DataGridView1.Columns(3).Width = 200
DataGridView1.Columns(6).Visible = False
DataGridView1.Columns(7).Width = 85
DataGridView1.Columns(8).Width = 50
DataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
DataGridView1.MultiSelect = False
With Me.DataGridView1
.RowsDefaultCellStyle.BackColor = Color.Bisque
.AlternatingRowsDefaultCellStyle.BackColor = Color.Beige
End With
TextBox1.Focus()
End Sub
تستطيع ايضا وضع صوركأسهماوأيقونات لتنقل بين السجلات مشروعك مثلا:
Private Sub PictureBox9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox9.Click
Me.BindingContext(DS1, "information").Position = 0
End Sub
Private Sub PictureBox11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox11.Click
Me.BindingContext(DS1, "information").Position -= 1
End Sub
Private Sub PictureBox8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox8.Click
Me.BindingContext(DS1, "information").Position += 1
End Sub
Private Sub PictureBox10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox10.Click
Me.BindingContext(DS1, "information").Position = Me.BindingContext(DS1, "information").Count - 1
End Sub
Dim a, b, c As Single
''''''''''''''''';عمليات حسابية
a = TextBox1.Text
b = TextBox2.Text
c = TextBox3.Text
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Label1.Text = a
Label2.Text = b
c = b + a
Label26.Text = c
End Sub
|