بسم الله الرحمن الرحيم
أخوتي الكرام
أحتاج إلى كود يقوم بعرض آخر سجل محفوظ في قاعدة البيانات من نوع أكسس 2003
وكما أحتاج لكود يقوم بالتنقل بين عناصر الفورم مثلا :
يكون الاختاير لـ TextBox1 عند الضغط على أحد الأزرار و يعد الانتهاء من كتابة ما أريد أضغط Enter فينتقل المؤشر إلى الـ TextBox2 و هكذا
.
.
و لكم جزيل الشكر
لعرض اخر سجل هو بالانتقال لاخر موضع للسجلات وهذا على حسب كيفية ربطك للادوات.
ارفع مثال بسيط للتعديل عليه.
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
لك جزيل الشكر أخي الكريم
بارك الله بك و بمساعدتك
أرجو الإفادة أيضا بكيفية التنقل بين الـ TextBox عن طريق زر Enter
(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
اول شي رتب الـ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
أيضا يوجد هذا الكود لتنقل مابين المربعات النص:
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
أخي الكريم هذا هو الكود الذي أعمل عليه
عن تجربة بعض انظمة التشغيل ما تسمح باستخدام 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
(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