Page 1 of 2
แก้ไขข้อมูลที่มีอยู่แล้ว ผ่าน userForm
Posted: Thu Oct 25, 2018 6:23 pm
by noona
สวัสดีค่ะ ขอสอบถามเกี่ยวกับการบันทึกข้อมูลที่มีอยู่แล้ว ผ่าน userForm
เมื่อค้นหาข้อมูลที่ต้องการจาก Sheet "Data" แก้ไขบันทึกกลับลงที่เดิมโดยใช้ปุ่ม "บันทึก" แต่ไม่สามารถทำได้ รบกวนผู้รู้ช่วยดูโค้ดให้หน่อยนะคะ เมื่อรันดู จะขึ้น Error type Mismatch
ขอบคุณค่ะ
Code: Select all
Private Sub CmdSave_Click()
Dim irow As Integer
Dim ws As Worksheet
Set ws = Worksheets("Data")
'find first empty row in database
irow = ws.Cells(Rows.Count, 1) _
.End(xlUp).Offset(1, 0).Row
'Check for Id
If (Me.TxtID.Value) = "" Then
Me.TxtID.SetFocus
Exit Sub
End If
If Application.CountIf(Range("b:b"), TxtID.Text) > 0 Then
irow = Application.Match(TxtID.Text, Range("b:b"), 0)
Else
irow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
End If
MsgBox "ÁÕ¢éÍÁÙżÙé»èÇÂáÅéÇ"
Exit Sub
'copy the data to the database
ws.Cells(irow, 2).Value = Me.TxtID.Value
ws.Cells(irow, 3).Value = Me.listTitle.Value
ws.Cells(irow, 4).Value = Me.txtName.Value
ws.Cells(irow, 5).Value = Me.txtSurename.Value
ws.Cells(irow, 6).Value = Me.liststatus.Value
ws.Cells(irow, 7).Value = Me.txtMobile.Value
Unload Me
'Clear the data
Me.TxtID.Value = ""
Me.listTitle.Value = ""
Me.txtName.Value = ""
Me.txtSurename.Value = ""
Me.liststatus.Value = ""
Me.txtMobile.Value = ""
Me.TextBox1.SetFocus
End Sub
Re: แก้ไขข้อมูลที่มีอยู่แล้ว ผ่าน userForm
Posted: Thu Oct 25, 2018 7:27 pm
by puriwutpokin
ควรแนบตัวอย่างไฟล์ที่ เป็นปัญหามาด้วยครับ จะได้ทดสอบได้ครับ
Re: แก้ไขข้อมูลที่มีอยู่แล้ว ผ่าน userForm
Posted: Fri Oct 26, 2018 9:21 am
by noona
puriwutpokin wrote: Thu Oct 25, 2018 7:27 pm
ควรแนบตัวอย่างไฟล์ที่ เป็นปัญหามาด้วยครับ จะได้ทดสอบได้ครับ
แนบไฟล์มาแล้วค่ะ รบกวนด้วยนะคะ
Re: แก้ไขข้อมูลที่มีอยู่แล้ว ผ่าน userForm
Posted: Fri Oct 26, 2018 10:47 pm
by snasui
ตัวอย่าง Code ครับ
Code: Select all
Private Sub CmdSave_Click()
Dim irow As Integer
Dim msgRepns As Integer
Dim ws As Worksheet
Set ws = Worksheets("Data")
'find first empty row in database
irow = ws.Cells(Rows.Count, 1) _
.End(xlUp).Offset(1, 0).Row
'Check for Id
If (Me.TxtID.Value) = "" Then
Me.TxtID.SetFocus
Exit Sub
End If
If Application.CountIf(Range("b:b"), TxtID.Text) > 0 Then
irow = Application.Match(CDbl(TxtID.Text), Range("b:b"), 0)
msgRepns = MsgBox("มีข้อมูลผู้ป่วยแล้ว หากต้องการแก้ไขข้อมูลเดิมคลิก Yes หากต้องการยกเลิกคลิก NO", vbYesNo)
Else
irow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
End If
If msgRepns = vbNo Then
Exit Sub
End If
'copy the data to the database
ws.Cells(irow, 2).Value = Me.TxtID.Value
ws.Cells(irow, 3).Value = Me.listTitle.Value
ws.Cells(irow, 4).Value = Me.txtName.Value
ws.Cells(irow, 5).Value = Me.txtSurename.Value
ws.Cells(irow, 6).Value = Me.liststatus.Value
ws.Cells(irow, 7).Value = Me.txtMobile.Value
Unload Me
'Clear the data
Me.TxtID.Value = ""
Me.listTitle.Value = ""
Me.txtName.Value = ""
Me.txtSurename.Value = ""
Me.liststatus.Value = ""
Me.txtMobile.Value = ""
MsgBox "บันทึกสำเร็จ"
End Sub
Re: แก้ไขข้อมูลที่มีอยู่แล้ว ผ่าน userForm
Posted: Mon Oct 29, 2018 2:08 pm
by noona
ได้แล้วนะคะ ขอบคุณมากค่ะ
ขอทราบแนวคิดอาจารย์หน่อยได้ไหมคะ ว่าทำไมถึงใช้วิธีประกาศตัวแปร Dim msgRepns As Integer แล้วทำไมโค้ดชุดแรกถึงทำงานไม่ได้
snasui wrote: Fri Oct 26, 2018 10:47 pm
ตัวอย่าง Code ครับ
Code: Select all
Private Sub CmdSave_Click()
Dim irow As Integer
Dim msgRepns As Integer
Dim ws As Worksheet
Set ws = Worksheets("Data")
'find first empty row in database
irow = ws.Cells(Rows.Count, 1) _
.End(xlUp).Offset(1, 0).Row
'Check for Id
If (Me.TxtID.Value) = "" Then
Me.TxtID.SetFocus
Exit Sub
End If
If Application.CountIf(Range("b:b"), TxtID.Text) > 0 Then
irow = Application.Match(CDbl(TxtID.Text), Range("b:b"), 0)
msgRepns = MsgBox("มีข้อมูลผู้ป่วยแล้ว หากต้องการแก้ไขข้อมูลเดิมคลิก Yes หากต้องการยกเลิกคลิก NO", vbYesNo)
Else
irow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
End If
If msgRepns = vbNo Then
Exit Sub
End If
'copy the data to the database
ws.Cells(irow, 2).Value = Me.TxtID.Value
ws.Cells(irow, 3).Value = Me.listTitle.Value
ws.Cells(irow, 4).Value = Me.txtName.Value
ws.Cells(irow, 5).Value = Me.txtSurename.Value
ws.Cells(irow, 6).Value = Me.liststatus.Value
ws.Cells(irow, 7).Value = Me.txtMobile.Value
Unload Me
'Clear the data
Me.TxtID.Value = ""
Me.listTitle.Value = ""
Me.txtName.Value = ""
Me.txtSurename.Value = ""
Me.liststatus.Value = ""
Me.txtMobile.Value = ""
MsgBox "บันทึกสำเร็จ"
End Sub
Re: แก้ไขข้อมูลที่มีอยู่แล้ว ผ่าน userForm
Posted: Tue Oct 30, 2018 11:59 pm
by snasui
แบบเดิมใช้ไม่ได้เพราะเขียนไม่ถูกต้องครับ
คอลัมน์ B ใน Worksheet คือ Number ส่วนค่าใน TxtID คือ Text จะต้องแปลงให้เป็น Number เสียก่อนจึงจะเทียบกันได้
กรณีมีการแก้ไขข้อมูลเดิม และต้องการบันทึกลงที่เดิมก็ควรจะทำได้ด้วยผมจึงกำหนดตัวแปรเข้าไปกำกับ ให้ผู้ใช้ตอบว่าจะบันทึกการแก้ไขข้อมูลเดิมหรือไม่ หากไม่ก็จะไม่บันทึกทับข้อมูลเดิมเช่นนี้เป็นต้นครับ
Re: แก้ไขข้อมูลที่มีอยู่แล้ว ผ่าน userForm
Posted: Wed Oct 31, 2018 9:24 am
by noona
User Form แบบนี้หากมีการแชร์ไฟล์ให้ user เข้ามาใช้งานจะสามารถใช้พร้อมๆกันได้หรือเปล่าคะ
ขอบคุณมากนะคะ ที่กรุณาตอบทุกคำถามเลย
snasui wrote: Tue Oct 30, 2018 11:59 pm
แบบเดิมใช้ไม่ได้เพราะเขียนไม่ถูกต้องครับ
คอลัมน์ B ใน Worksheet คือ Number ส่วนค่าใน TxtID คือ Text จะต้องแปลงให้เป็น Number เสียก่อนจึงจะเทียบกันได้
กรณีมีการแก้ไขข้อมูลเดิม และต้องการบันทึกลงที่เดิมก็ควรจะทำได้ด้วยผมจึงกำหนดตัวแปรเข้าไปกำกับ ให้ผู้ใช้ตอบว่าจะบันทึกการแก้ไขข้อมูลเดิมหรือไม่ หากไม่ก็จะไม่บันทึกทับข้อมูลเดิมเช่นนี้เป็นต้นครับ
Re: แก้ไขข้อมูลที่มีอยู่แล้ว ผ่าน userForm
Posted: Wed Oct 31, 2018 9:24 pm
by snasui
ไฟล์ที่มี Macro ไม่รองรับการ Shared จึงไม่สามารถ Shared ให้ใช้ได้พร้อมกันหลาย ๆ คนครับ
Re: แก้ไขข้อมูลที่มีอยู่แล้ว ผ่าน userForm
Posted: Wed Nov 07, 2018 5:09 pm
by noona
ขอบคุณค่ะอาจารย์ อาจารย์หมายถึง Shared Workbook ใช่ไหมค่ะ พอจะมีวิธีไหนแนะนำหรือไม่คะ ตั้งใจว่าเมื่อทำเสร็จแล้วอยากจะแชร์ไฟล์จากเครื่องตัวเองแล้วให้ให้ User เข้ามาใช้ไฟล์นี้เพื่อแก้ไขข้อมูลของตัวเองค่ะ
ขอถามอาจารย์เพิ่มเติมนะคะ เวลาใช้งานถ้า hide sheet data ที่เป็นฐานข้อมูลไว้ ทำให้ค้นหาข้อมูลไม่ได้ ไม่ทราบว่าต้องแก้ยังไงคะ
(ไม่ต้องการโชว์ Data เวลาใช้งาน อยากให้เห็นแต่ Form ค่ะ)
snasui wrote: Wed Oct 31, 2018 9:24 pm
ไฟล์ที่มี Macro ไม่รองรับการ Shared จึงไม่สามารถ Shared ให้ใช้ได้พร้อมกันหลาย ๆ คนครับ
Re: แก้ไขข้อมูลที่มีอยู่แล้ว ผ่าน userForm
Posted: Wed Nov 07, 2018 8:45 pm
by snasui
ไฟล์ที่มี Macro ไม่มีวิธีแก้ให้ Shared Workbook ได้ครับ
วิธีการทำงานที่ควรจะเป็น
- มีไฟล์โปรแกรมต่างหาก โดย User ใด ๆ ก็ต้องใช้ไฟล์นี้ ใช้จากเครื่องใดก็ได้
- มีไฟล์ Database อยู่ในเครื่องที่ Shared File ไว้
- ใช้ไฟล์ตามข้อ 1 จะจัดการกับข้อมูลในไฟล์ตามข้อ 2
- ไฟล์ตามข้อ 2 เป็นตัวแทนของการเป็น Database สามารถเปลี่ยนไปเป็น Database แบบอื่น เช่น Access, SQL, Oracle หรืออื่น ๆ ได้ตามความจำเป็น
Re: แก้ไขข้อมูลที่มีอยู่แล้ว ผ่าน userForm
Posted: Mon Nov 12, 2018 4:39 pm
by noona
แยกออกมาเป็นคนล่ะไฟล์แล้ว หนูต้องใส่สูตรไว้ตรงส่วนไหนคะ เพื่อค้นหาและบันทึกกลับไปที่ Database
ไม่รู้จะเริ่มจากตรงไหน รบกวนอาจารย์ชี้แนะด้วยนะคะ
ใช้ path และชื่อไฟล์ตามนี้ค่ะ
path C:\Users\THA0753H\Desktop
ชื่อไฟล์ Employee Data.xlsx
Code: Select all
Private Sub CmdFind_Click()
On Error Resume Next
'Err.Clear
nRow = Workbooks("Employee Data.xlsx").Worksheets("Data").Columns(4).Find(Txtfind.Text).Row
If Err.Number = 91 Then
TxtID.Value = "Not Found"
listTitle.Value = "Not Found"
txtName.Value = "Not Found"
txtSurename.Value = "Not Found"
liststatus.Value = "Not Found"
txtMobile.Value = "Not Found"
MsgBox "Don't have this Name"
GoTo nNextี
End If
TxtID.Value = Cells(nRow, 2)
listTitle.Value = Cells(nRow, 3)
txtName.Value = Cells(nRow, 4)
txtSurename.Value = Cells(nRow, 5)
liststatus.Value = Cells(nRow, 6)
txtMobile.Value = Format(Cells(nRow, 7), "000-0000000")
'current address
Txtno1.Value = Cells(nRow, 9)
TxtMoo1.Value = Cells(nRow, 10)
Txtban1.Value = Cells(nRow, 11)
Txtsoi1.Value = Cells(nRow, 12)
Txtroad1.Value = Cells(nRow, 13)
listtambon1.Value = Cells(nRow, 14)
listampor1.Value = Cells(nRow, 15)
listprovince1.Value = Cells(nRow, 16)
Txtcode1.Value = Cells(nRow, 17)
'home address
Txtno2.Value = Cells(nRow, 18)
TxtMoo2.Value = Cells(nRow, 19)
Txtban2.Value = Cells(nRow, 20)
Txtsoi2.Value = Cells(nRow, 21)
Txtroad2.Value = Cells(nRow, 22)
listtambon2.Value = Cells(nRow, 23)
listampor2.Value = Cells(nRow, 24)
listprovince2.Value = Cells(nRow, 25)
Txtcode2.Value = Cells(nRow, 26)
Cells(nRow, 2).Activate
nNext:
End Sub
Private Sub CmdSave_Click()
Dim irow As Integer
Dim msgRepns As Integer
Dim ws As Worksheet
Set ws = Worksheets("Data")
'find first empty row in database
irow = ws.Cells(Rows.Count, 1) _
.End(xlUp).Offset(1, 0).Row
'Check for Id
If (Me.TxtID.Value) = "" Then
Me.Txtfind.SetFocus
Exit Sub
End If
If Application.CountIf(Range("b:b"), TxtID.Text) > 0 Then
irow = Application.Match(CDbl(TxtID.Text), Range("b:b"), 0)
msgRepns = MsgBox("ต้องการแก้ไขข้อมูล ?", vbYesNo)
Else
irow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
End If
If msgRepns = vbNo Then
Exit Sub
End If
'copy the data to the database
ws.Cells(irow, 2).Value = Me.TxtID.Value
ws.Cells(irow, 3).Value = Me.listTitle.Value
ws.Cells(irow, 4).Value = Me.txtName.Value
ws.Cells(irow, 5).Value = Me.txtSurename.Value
ws.Cells(irow, 6).Value = Me.liststatus.Value
ws.Cells(irow, 7).Value = Format(Me.txtMobile.Value, "000-0000000")
'current address
ws.Cells(irow, 9).Value = Me.Txtno1.Value
ws.Cells(irow, 10).Value = Me.TxtMoo1.Value
ws.Cells(irow, 11).Value = Me.Txtban1.Value
ws.Cells(irow, 12).Value = Me.Txtsoi1.Value
ws.Cells(irow, 13).Value = Me.Txtroad1.Value
ws.Cells(irow, 14).Value = Me.listtambon1.Value
ws.Cells(irow, 15).Value = Me.listampor1.Value
ws.Cells(irow, 16).Value = Me.listprovince1.Value
ws.Cells(irow, 17).Value = Me.Txtcode1.Value
'home address
ws.Cells(irow, 18).Value = Me.Txtno2.Value
ws.Cells(irow, 19).Value = Me.TxtMoo2.Value
ws.Cells(irow, 20).Value = Me.Txtban2.Value
ws.Cells(irow, 21).Value = Me.Txtsoi2.Value
ws.Cells(irow, 22).Value = Me.Txtroad2.Value
ws.Cells(irow, 23).Value = Me.listtambon2.Value
ws.Cells(irow, 24).Value = Me.listampor2.Value
ws.Cells(irow, 25).Value = Me.listprovince2.Value
ws.Cells(irow, 26).Value = Me.Txtcode2.Value
'Unload Me
ws.Cells(irow, 27).Value = Format(Me.TxtDate.Value, "dd/mm/yyyy")
'Clear the data
Me.TxtID.Value = ""
Me.listTitle.Value = ""
Me.txtName.Value = ""
Me.txtSurename.Value = ""
Me.liststatus.Value = ""
Me.txtMobile.Value = ""
Me.Txtfind.Value = ""
Me.Txtno1.Value = ""
Me.TxtMoo1.Value = ""
Me.Txtban1.Value = ""
Me.Txtsoi1.Value = ""
Me.Txtroad1.Value = ""
Me.listtambon1.Value = ""
Me.listampor1.Value = ""
Me.listprovince1.Value = ""
Me.Txtcode1.Value = ""
Me.Txtno2.Value = ""
Me.TxtMoo2Value = ""
Me.Txtban2.Value = ""
Me.Txtsoi2.Value = ""
Me.Txtroad2.Value = ""
Me.listtambon2.Value = ""
Me.listampor2.Value = ""
Me.listprovince2.Value = ""
Me.Txtcode2.Value = ""
MsgBox "บันทึกสำเร็จ"
End Sub
snasui wrote: Wed Nov 07, 2018 8:45 pm
ไฟล์ที่มี Macro ไม่มีวิธีแก้ให้ Shared Workbook ได้ครับ
วิธีการทำงานที่ควรจะเป็น
- มีไฟล์โปรแกรมต่างหาก โดย User ใด ๆ ก็ต้องใช้ไฟล์นี้ ใช้จากเครื่องใดก็ได้
- มีไฟล์ Database อยู่ในเครื่องที่ Shared File ไว้
- ใช้ไฟล์ตามข้อ 1 จะจัดการกับข้อมูลในไฟล์ตามข้อ 2
- ไฟล์ตามข้อ 2 เป็นตัวแทนของการเป็น Database สามารถเปลี่ยนไปเป็น Database แบบอื่น เช่น Access, SQL, Oracle หรืออื่น ๆ ได้ตามความจำเป็น
Re: แก้ไขข้อมูลที่มีอยู่แล้ว ผ่าน userForm
Posted: Mon Nov 12, 2018 7:31 pm
by snasui
แนบไฟล์นั้นมาพร้อมทั้งไฟล์ปลายทาง อธิบายสิ่งที่ต้องการว่าจะทำอะไร ต้องกรอกค่าทดสอบใดบ้าง คลิกปุ่มไหน ผลลัพธ์ที่ถูกต้องจะต้องเป็นอย่างไร ที่ทำมาแล้วติดขัดตรง Procedure ใด บรรทัดใด ฯลฯ จะได้ช่วยดูต่อไปจากนั้นครับ
Re: แก้ไขข้อมูลที่มีอยู่แล้ว ผ่าน userForm
Posted: Tue Nov 13, 2018 11:22 am
by noona
snasui wrote: Mon Nov 12, 2018 7:31 pm
แนบไฟล์นั้นมาพร้อมทั้งไฟล์ปลายทาง อธิบายสิ่งที่ต้องการว่าจะทำอะไร ต้องกรอกค่าทดสอบใดบ้าง คลิกปุ่มไหน ผลลัพธ์ที่ถูกต้องจะต้องเป็นอย่างไร ที่ทำมาแล้วติดขัดตรง Procedure ใด บรรทัดใด ฯลฯ จะได้ช่วยดูต่อไปจากนั้นครับ
ใช้ ไฟล์ userform-test ดึงข้อมูลจาก ไฟล์ Data มาแสดง ในขณะที่ ไฟล์ data ไม่ได้เปิดอยู่ สามารถทำได้อย่างไรบ้างคะ ไม่รู้ว่าจะต้องใส่โค้ดเพิ่มอย่างไรค่ะ
ใช้ path และชื่อไฟล์ตามนี้ค่ะ
path C:\Users\THA0753H\Desktop
ชื่อไฟล์ Data.xlsx
Re: แก้ไขข้อมูลที่มีอยู่แล้ว ผ่าน userForm
Posted: Tue Nov 13, 2018 6:27 pm
by snasui
ตัวอย่างการปรับ Code ครับ
Code: Select all
Private Sub CmdFind_Click()
Dim wb As Workbook
On Error Resume Next
'Err.Clear
Set wb = Workbooks.Open("C:\Users\THA0753H\Desktop\Employee Data.xlsx")
nRow = wb.Worksheets("Data").Columns(4).Find(Txtfind.Text).Row
'Other code
wb.Close false
End sub
Re: แก้ไขข้อมูลที่มีอยู่แล้ว ผ่าน userForm
Posted: Wed Nov 14, 2018 3:50 pm
by noona
snasui wrote: Tue Nov 13, 2018 6:27 pm
ตัวอย่างการปรับ Code ครับ
Code: Select all
Private Sub CmdFind_Click()
Dim wb As Workbook
On Error Resume Next
'Err.Clear
Set wb = Workbooks.Open("C:\Users\THA0753H\Desktop\Employee Data.xlsx")
nRow = wb.Worksheets("Data").Columns(4).Find(Txtfind.Text).Row
'Other code
wb.Close false
End sub
ขอบคุณสำหรับทุกตอบเลยนะคะ
พอทำไปจะพบปัญหามากขึ้นเรื่อย ขอรบกวนอาจารย์เพิ่มเติมอีกนะคะ
หลังจากที่แก้ไขโค้ดที่ปุ่ม "ค้นหา" ตามที่อาจารย์แนะนำแล้วซึ่งใช้ได้ดีเลยค่ะ จึงนำไปใช้กับปุ่ม "บันทึก"
ปัญหาอยู่ที่ พอคลิกปุ่ม "บันทึก"แล้ว คอนเฟิร์มการแก้ไขข้อมูล ไม่ต้องการให้ ไฟล์ Data เปิดขึ้นมาด้วย ไม่สามารถว่าทำได้หรือไม่ค่ะ
ขอความกรุณาอาจารย์ช่วยแนะนำ ถ้าต้องการสร้าง Listbox แบบตัวอย่างในรูปที่อยู่ พอจะมีตัวอย่างให้ศึกษาดูบ้างไหมคะ
Re: แก้ไขข้อมูลที่มีอยู่แล้ว ผ่าน userForm
Posted: Thu Nov 15, 2018 9:34 pm
by snasui
ตอนบันทึกไม่ต้องเขียนให้เปิดไฟล์ขึ้นมาใหม่ เพราะเปิดอยู่แล้วตอนค้นหา
Code ไหนที่เปิดการเปิดไฟล์ก็ให้ Mark เป็น Comment หรือลบทิ้งไปครับ
ListBox ตามภาพที่ถามเหมือนจับภาพมาจากเว็บ การสร้าง ListBox ก็แค่เพิ่ม ListBox เข้าไปครับ จะให้เหมือน Web เสียเลยทีเดียวก็คงไม่ได้ หากจะพยายามปรับแต่งก็พอจะพอใกล้เคียง แต่น่าจะเป็นเรื่องที่ไม่จำเป็นนัก ให้มันทำตาม Requirement ให้ครบก็พอแล้วครับ
Re: แก้ไขข้อมูลที่มีอยู่แล้ว ผ่าน userForm
Posted: Mon Nov 19, 2018 11:42 am
by noona
อาจารย์คะ มันมี Error ไม่ทราบว่าต้องแก้ไขเพิ่มเติมตรงไหนอีกหรือไม่คะ
snasui wrote: Thu Nov 15, 2018 9:34 pm
ตอนบันทึกไม่ต้องเขียนให้เปิดไฟล์ขึ้นมาใหม่ เพราะเปิดอยู่แล้วตอนค้นหา
Code ไหนที่เปิดการเปิดไฟล์ก็ให้ Mark เป็น Comment หรือลบทิ้งไปครับ
ListBox ตามภาพที่ถามเหมือนจับภาพมาจากเว็บ การสร้าง ListBox ก็แค่เพิ่ม ListBox เข้าไปครับ จะให้เหมือน Web เสียเลยทีเดียวก็คงไม่ได้ หากจะพยายามปรับแต่งก็พอจะพอใกล้เคียง แต่น่าจะเป็นเรื่องที่ไม่จำเป็นนัก ให้มันทำตาม Requirement ให้ครบก็พอแล้วครับ
Re: แก้ไขข้อมูลที่มีอยู่แล้ว ผ่าน userForm
Posted: Mon Nov 19, 2018 12:34 pm
by puriwutpokin
ตอนรันก็ปกตินะครับ ได้ใช้คำสั่งเปิดไฟล์ไว้ด้วยหรือไม่ครับ
Re: แก้ไขข้อมูลที่มีอยู่แล้ว ผ่าน userForm
Posted: Mon Nov 19, 2018 3:21 pm
by noona
ไม่ได้ใช้ค่ะ ต้องการค้นหาแล้วบันทึกกลับที่เดิมค่ะ
ปัญหาในตอนแรกคือ ใช้คำสั่งเปิดไฟล์ด้วยทำให้ฐานข้อมูลเด้งขึ้นมาตอนกดบันทึก ไม่ต้องการให้เด้งขึ้นมาจึงเอาคำสั่ง Open ออก ไม่แน่ใจว่าทำตรงไหนผิดจึงเกิด Error ตามรูปค่ะ
puriwutpokin wrote: Mon Nov 19, 2018 12:34 pm
ตอนรันก็ปกตินะครับ ได้ใช้คำสั่งเปิดไฟล์ไว้ด้วยหรือไม่ครับ
Re: แก้ไขข้อมูลที่มีอยู่แล้ว ผ่าน userForm
Posted: Mon Nov 19, 2018 9:19 pm
by snasui
noona wrote: Mon Nov 19, 2018 3:21 pm
ปัญหาในตอนแรกคือ ใช้คำสั่งเปิดไฟล์ด้วยทำให้ฐานข้อมูลเด้งขึ้นมาตอนกดบันทึก ไม่ต้องการให้เด้งขึ้นมาจึงเอาคำสั่ง Open ออก ไม่แน่ใจว่าทำตรงไหนผิด
ถ้าอ่านจากที่แจ้งมา ผิดตรงเอาการ Open ออกครับ หากจะบันทึกข้อมูลลงในไฟล์ต้นทาง เมื่อยังไม่เปิดไฟล์ต้นทางก็ต้องเปิดออกมาก่อน แต่เมื่อเปิดมาแล้วคำสั่งอื่น ๆ หลังจากนั้นไม่ต้องไป Open อีก เมื่อจบงานจึง Close เมื่อจะบันทึกจึงจะ Open ใหม่ เช่นนี้ครับ