ตอนนี้ผมทำการ gen_id หนะครับ สามารถ gen ได้ปกติเพราะ เลือกค่า ID มาเเค่ค่าเดียวครับ เลยมีเเค่ Rec_ID เพียง column เดียว
code
Code (VB.NET)
Private Sub Gen_ID()
Dim sqlTmp As String
sqlTmp = "select Rec_ID From Receive"
Dim d_adap As New SqlDataAdapter(sqlTmp, sqlConnection)
Dim d_set As New DataSet
Dim d_table As New DataTable
Dim d_row As DataRow
Dim Cut_String As String 'ตัวแปรเก็บค่าการตัดสตริงเพื่อ Gen ID
d_adap.Fill(d_set, "Rec_ID")
d_table = d_set.Tables("Rec_ID")
If d_set.Tables("Rec_ID").Rows.Count = 0 Then 'เช็คว่ามีIDใน database ไหมถ้าไม่ Gen Auto ให้เป็น 001
tb_recID.Text = "RE0001"
Else
For Each d_row In d_table.Rows
Cut_String = Mid(d_row.Item("Rec_ID"), 3, 6) + 1 'ตัวสตริงจาก Datarow ที่คิวรี่ออกมาได้
If Cut_String.Length = 1 Then 'เช็คว่าขนาดความยาวตัวอักษรมีกี่หลัก
tb_recID.Text = "RE000" + Cut_String
ElseIf Cut_String.Length = 2 Then
tb_recID.Text = "RE00" + Cut_String
ElseIf Cut_String.Length = 3 Then
tb_recID.Text = "RE0" + Cut_String
ElseIf Cut_String.Length = 4 Then
tb_recID.Text = "RE" + Cut_String
End If
Next
End If
End Sub
Private Sub Gen_lot()
Dim sqlTmp As String
sqlTmp = "select lot_no,vac_No,vac_name from vaccine,vaccine_type " & _
"where vac_id = vac_no and vac_name = '" & tb_vTypeName.Text & "' "
Dim d_adap As New SqlDataAdapter(sqlTmp, sqlConnection)
Dim d_set As New DataSet
Dim d_table As New DataTable
Dim d_row As DataRow
Dim Cut_String As String 'ตัวแปรเก็บค่าการตัดสตริงเพื่อ Gen Lot
d_adap.Fill(d_set, "Lot")
d_table = d_set.Tables("Lot")
DataGridView3.DataSource = d_set.Tables("Lot")
If d_set.Tables("Lot").Rows.Count = 0 Then 'เช็คว่ามีIDใน database ไหมถ้าไม่ Gen Auto ให้เป็น 001
tb_lotID.Text = "LO0001"
Else
For Each d_row In d_table.Rows()
Cut_String = Mid(d_row.Item("Lot"), 3, 6) + 1 'ตัวสตริงจาก Datarow ที่คิวรี่ออกมาได้
If Cut_String.Length = 1 Then 'เช็คว่าขนาดความยาวตัวอักษรมีกี่หลัก
tb_lotID.Text = "LO000" + Cut_String
ElseIf Cut_String.Length = 2 Then
tb_lotID.Text = "LO00" + Cut_String
ElseIf Cut_String.Length = 3 Then
tb_lotID.Text = "LO0" + Cut_String
ElseIf Cut_String.Length = 4 Then
tb_lotID.Text = "LO" + Cut_String
End If
Next
End If
End Sub