 |
|
เรื่องการรันรหัสอัตโนมัติ แต่สามารถเพิ่มได้เพียง 1 ข้อมูลครับ Win (Windows App) |
|
 |
|
|
 |
 |
|
ต้องการให้คลิกที่เพิ่มข้อมูลแล้ว ฟอร์มเพิ่มข้อมูล refresh อ่ะครับ ตอนนี้สามารถเพิ่มข้อมูลได้แล้วครับ แต่จะเพิ่มได้แค่ 1 ข้อมูลเท่านั้น ถ้าจะเพิ่มข้อมูลอีกเพิ่มไม่ได้อ่ะครับ ตรงรหัสแผนกมันไม่เปลี่ยนให้อ่ะครับ
ภาพนะครับ
ภาพนี้เป็นฟอร์มตอนสั่งรันครับ

ภาพนี้เป็นภาพที่แสดงเมื่อเพิ่มข้อมูลแล้ว

แต่พอเพิ่มข้อมูลเสร็จในหน้าฟอร์มตรง รหัสแผนกมันไม่รันต่อไปอ่ะครับ แต่ถ้ากด Stop แล้วรันใหม่ รหัสแผนกก็รันตามปกติครับ

Code (VB.NET) Win (Windows App)
Sub btn_add_Click
If dep_name.Text = "" Then
MessageBox.Show("กรุณาระบุ ชื่อแผนก ", "ข้อผิดพลาด", MessageBoxButtons.OK, MessageBoxIcon.Warning)
dep_name.Focus()
Else
strcheck = "select count(*) from dep where dep_name = '" & Me.dep_name.Text & "' "
cmddata = New OleDbCommand(strcheck, objConn)
num = cmddata.ExecuteScalar()
data = "insert into dep(dep_id,dep_name) values ('" & dep_id.Text & "','" & dep_name.Text & "')"
Try
With cmddata
.CommandType = CommandType.Text
.CommandText = data
.Connection = conn
.ExecuteNonQuery()
MsgBox("เพิ่มข้อมูลเรียบร้อยแล้ว")
auto_id = auto_id + 1
dep_id.Text = auto_id.ToString("000")
End With
Catch ex As Exception
MsgBox("ไม่สามารถเพิ่มข้อมูลได้")
End Try
End If
Private Sub btn_cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_cancel.Click
admin_menu.Show()
Me.Hide()
End Sub
รบกวนด้วยนะครับ ขอบคุณครับผม
Tag : .NET, Ms Access, VBScript, Crystal Report, Win (Windows App), VB.NET
|
ประวัติการแก้ไข 2011-02-25 14:28:58 2011-02-25 14:29:37 2011-02-25 22:55:46 2011-02-25 22:57:05
|
 |
 |
 |
 |
Date :
2011-02-25 14:26:28 |
By :
MOO PHP |
View :
1358 |
Reply :
5 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
โฮ มาได้ขนาดนี้แล้วติดตรงนี้ได้ไงเนี้ย ใน Event Load ก็มี Code ที่จะแก้ปัญหาของ จขกท. ได้อยู่แล้วนิครับ
|
 |
 |
 |
 |
Date :
2011-02-25 15:07:26 |
By :
kaimuk |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
จขกท. เปิด From มันจะเข้า Event Load (บรรทัดที่ 43-84)
จขกท. สามารถเอาบรรทัดที่ 74-77 (มีสองบรรทัด) มาปรับแต่งแล้วไปวางไว้ หลัง บรรทัดที่ 29 คือหลังจาก Save แล้วก็ให้ปรับปรุง dep_id.Text โดยการ + 1 เข้าไปแค่นั้นเองครับ
|
 |
 |
 |
 |
Date :
2011-02-25 15:59:57 |
By :
kaimuk |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ไม่ได้อ่ะครับ....รหัสมันขึ้นแต่เลข 1 อ่ะครับท่าน งง??
|
 |
 |
 |
 |
Date :
2011-02-25 17:58:30 |
By :
MOO PHP |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตามนี้เลยครับท่าน แต่รหัสมันยังไม่สวยนะไม่เป็น 001,002,003, เอาไปแต่งเอาเองนะครับ หลักๆก็ประมาณนี้
Code (VB.NET)
Imports System.Data.OleDb
Imports System.Data.OleDb.OleDbConnection
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim strcheck, num, Data As String
If dep_name.Text = "" Then
MessageBox.Show("กรุณาระบุ ชื่อแผนก ", "ข้อผิดพลาด", MessageBoxButtons.OK, MessageBoxIcon.Warning)
dep_name.Focus()
Else
Dim Conn As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=sayki.accdb"
Dim objConn As New OleDbConnection(Conn)
objConn.Open()
strcheck = "select count(*) from dep where dep_name = '" & Me.dep_name.Text & "' "
Dim cmddata As New OleDbCommand(strcheck, objConn)
num = cmddata.ExecuteScalar()
Data = "insert into dep(dep_id,dep_name) values ('" & dep_id.Text & "','" & dep_name.Text & "')"
Try
With cmddata
.CommandType = CommandType.Text
.CommandText = Data
.ExecuteNonQuery()
MsgBox("เพิ่มข้อมูลเรียบร้อยแล้ว")
Me.NewID()
End With
Catch ex As Exception
MsgBox("ไม่สามารถเพิ่มข้อมูลได้")
End Try
End If
End Sub
Sub NewID() ' ใช้หา running number ลำดับต่อไป โดยเอาเลข id ล่าสุด มา+1
Try
Dim Conn As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=sayki.accdb"
Dim objConn As New OleDbConnection(Conn)
objConn.Open()
Dim strcheck As String = "select dep_id from dep order by dep_id desc "
Dim cmddata As New OleDbCommand(strcheck, objConn)
Dim dr As OleDbDataReader = cmddata.ExecuteReader
If dr.HasRows Then
dr.Read()
Me.dep_id.Text = (dr.GetInt32(0) + 1).ToString ' +ตรงนี้
Else
Me.dep_id.Text = "1" ' หากยังไม่มีเลย ก็เริ่มด้วย 1
End If
objConn.Close()
dr.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
End Class
|
ประวัติการแก้ไข 2011-02-26 04:37:34 2011-02-26 04:41:12
 |
 |
 |
 |
Date :
2011-02-26 04:21:20 |
By :
sayki |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|