 |
|
ช่วยที่ครับเรื่องการ gen id ครับ...ตอนนี้ผมทำการ gen_id หนะครับ สามารถ gen ได้ปกติ |
|
 |
|
|
 |
 |
|
ตอนนี้ผมทำการ 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
เเต่อีกการทำงานนึงคล้ายกัยอันเเรกนะครับผมต้อง select ค่าขึ้นมาหลายค่าครับ เเล้วเอามา gen_id ครับเเต่ไม่ได้ คำสั่ง sql ถูกต้องนะครับ ผมลองเอาข้อมูลไปเเสดงใน DataGridView ดูก็สามารถเเสดงได้ เเต่ไม่สามารถเพิ่ม lot ได้อะครับ ไม่รู้ว่าเกี่ยวกับเราเลือกค่ามาหลายค่ารึเปล่า
ค่าที่เลือกมาก็มี lot_no vac_No vac_name ครับ
code
Code (VB.NET)
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
รูป error ครับ

รบกวนหน่อยนะครับ
Tag : - - - -
|
|
 |
 |
 |
 |
Date :
2010-01-19 01:21:21 |
By :
artcode |
View :
1651 |
Reply :
5 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (VB.NET)
Cut_String = Mid(d_row("Lot"), 3, 6) + 1
|
 |
 |
 |
 |
Date :
2010-01-19 09:02:56 |
By :
tungman |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ได้เเล้วครับ ตามที่เเนะนำเลยครับ ผมลืมว่าตรง
Code (VB.NET)
Cut_String = Mid(d_row("Lot"), 3, 6) + 1
ต้องเป็น Lot_no
|
 |
 |
 |
 |
Date :
2010-01-19 12:51:24 |
By :
artcode |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณมากๆครับ
|
 |
 |
 |
 |
Date :
2010-01-19 12:52:03 |
By :
artcode |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ค่าไม่บวกเพิ่มอ่ะ
|
 |
 |
 |
 |
Date :
2010-10-11 16:00:24 |
By :
moo_inlove |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|