จัดเก็บข้อมูลลงฐานข้อมูลไม่ได้
Posted: Sun Jun 08, 2014 7:52 pm
ผมได้ลองปรับสูตรในการบันทึกข้อมูลด้วย VBA และดึงข้อมูลมาแก้ไขแล้วจัดเก็บแทนที่ หากรหัสในเซลล์ C3 ในชีท deberk ไม่ซ้ำรหัสเดิมก็จะมีการบันทึกเพิ่ม แต่ถ้าหากรหัสซ้ำก็จะเป็นการแก้ไขข้อมูล แต่มีปัญหาตรงที่ว่าเมื่อคลิ๊กปุ่มบันทึกรายการพัสดุในชีท deberk หากเป็นรหัสใหม่รายการไม่บันทึกต่อจากแถวสุดท้ายให้ โดยโค้ดที่ผมใช้เป็นดังนี้ครับ
รบกวนขอคำแนะนำด้วยครับ
Code: Select all
Sub changeData_deberk() 'คลิกปรับปรุงข้อมูล แก้ไขแล้วบันทึกซ้ำ
If Range("g3") = "" Then Exit Sub
If Sheets("DBberk").Columns("f:f").Find(Range("g3"), LookIn:=xlValues) Is Nothing Then
Range("C4:g4").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Worksheets("DBberk").Cells(65536, "b").End(xlUp) _
.Offset(1, 0).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=True, Transpose:=False
'เรียงเสร็จเป็นช่องว่าง
Worksheets("deberk").Range("c4:f503") = ""
Application.CutCopyMode = False
Sheets("deberk").Select
Range("c4").Select
MsgBox "ระบบจัดเก็บข้อมูลเรียบร้อยแล้ว", 38, "โปรแกรมรายงานเอกสารพัสดุ : "
Else
i = Sheets("DBberk").Columns("f:f").Find(Range("g4"), LookIn:=xlValues).Row
Range("C4:g4").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("DBberk").Range("b" & i).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
'เป็นช่องว่าง
Range("B4:F1048576").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.ClearContents
Range("B4").Select
Worksheets("deberk").Range("c4:f503") = ""
Sheets("find_deberk").Select
Range("b1").Select
MsgBox "ระบบแก้ไขข้อมูลเรียบร้อยแล้ว", 38, "โปรแกรมรายงานเอกสารพัสดุ : "
Dim iRet As Integer
Dim strPrompt As String
Dim strTitle As String
' Promt
strPrompt = "พิมพ์เอกสารเลยหรือไม่ ?"
' Dialog's Title
strTitle = "โปรแกรมรายงานเอกสารพัสดุ : "
'Display MessageBox
iRet = MsgBox(strPrompt, vbYesNo, strTitle)
' Check pressed button
If iRet = vbNo Then
Else
Sheets("pberk").Select
Range("bc3").Select
End If
End If
End Sub