Page 1 of 1
รบกวนช่วยตรวจสอบ code การหาค่าที่ซ้ำ ในฐานข้อมูล
Posted: Tue Nov 28, 2017 8:45 pm
by akekorn
สวัสดีครับเพื่อนสมาชิกทุกท่าน
วันนี้ผมมีป็ํญหาเกียวกับ vba การค้นหาค่าที่ซ้ำหากซ้ำจะมีการถามว่าจะแก้ไข หรือไม่
หากแก้ไขจะนำข้อมูลที่แก้ไขใหม่ทับลงบนฐานข้อมูลเดิมซี่งจากตัวอย่างผมลองทำ
ปรากฏว่าหากเพิ่มข้อมูลใหม่จะสามารถทำได้แต่หากแก้ไขข้อมูลเดิม
ไม่สามารถทำได้
โดยผมได้แนบ file มาด้วยครับผม
ปุ่มที่ปัญหา คือ OKButton event click ครับ
ขอบคุณครับผม
Re: รบกวนช่วยตรวจสอบ code การหาค่าที่ซ้ำ ในฐานข้อมูล
Posted: Wed Nov 29, 2017 7:17 am
by snasui

ต้องการกำหนดค่าให้กับตัวแปร myid เสียก่อนเนื่องจาก Code นั้นเป็นการนำ myid ไปเทียบกับค่าในเซลล์
ก่อนที่จะ Loop ด้วย Do ใหโปรแกรมรับรู้เสียก่อนว่า Activecell คือเซลล์ เช่นกำหนดเป็น Sheet1.Range("A1").Select
Re: รบกวนช่วยตรวจสอบ code การหาค่าที่ซ้ำ ในฐานข้อมูล
Posted: Wed Nov 29, 2017 7:57 am
by akekorn
ครับผมเดี๋ยวลองทำดูครับ
ขอบคุณมากครับผม
Re: รบกวนช่วยตรวจสอบ code การหาค่าที่ซ้ำ ในฐานข้อมูล
Posted: Wed Nov 29, 2017 9:10 am
by akekorn
ผมได้ลองแก้ไขแล้วแต่ สงสัยเพราะค่าที่เลือกเท้ากับค่าในactivecellแล้วแต่โปรแกรมมันยังไม่ยอมเข้าเงื่อนไขครับโดยผมได้แนบcodeมาด้วยครับ
Private Sub OKButton_Click()
Dim emptyRow As Long
Dim myid As Variant
'Make Sheet1 active
Sheet1.Activate
If WorksheetFunction.CountIf(Sheet1.Range("A:A"), NameTextBox.Value) = 0 Then
'Determine emptyRow
emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1
'Transfer information
Cells(emptyRow, 1).Value = NameTextBox.Value
Cells(emptyRow, 2).Value = PhoneTextBox.Value
Cells(emptyRow, 3).Value = CityListBox.Value
Cells(emptyRow, 4).Value = DinnerComboBox.Value
If DateCheckBox1.Value = True Then Cells(emptyRow, 5).Value = DateCheckBox1.Caption
If DateCheckBox2.Value = True Then Cells(emptyRow, 5).Value = Cells(emptyRow, 5).Value & " " & DateCheckBox2.Caption
If DateCheckBox3.Value = True Then Cells(emptyRow, 5).Value = Cells(emptyRow, 5).Value & " " & DateCheckBox3.Caption
If CarOptionButton1.Value = True Then
Cells(emptyRow, 6).Value = "Yes"
Else
Cells(emptyRow, 6).Value = "No"
End If
Cells(emptyRow, 7).Value = MoneyTextBox.Value
Else
'MsgBox "Name " & NameTextBox.Value & " This name already exists."
If MsgBox("Name " & NameTextBox.Value & " This name already exists do you want to replace?", vbYesNo, "Information") = vbYes Then
myid = NameTextBox.Value
Sheet1.Range("A1").Select
Do While ActiveCell <> ""
If myid = ActiveCell.Value Then
ActiveCell.Offset(0, 1).Value = NameTextBox.Value
ActiveCell.Offset(0, 2).Value = PhoneTextBox.Value
ActiveCell.Offset(0, 3).Value = CityListBox.Value
ActiveCell.Offset(0, 4).Value = DinnerComboBox.Value
If DateCheckBox1.Value = True Then Cells(emptyRow, 5).Value = DateCheckBox1.Caption
If DateCheckBox2.Value = True Then Cells(emptyRow, 5).Value = Cells(emptyRow, 5).Value & " " & DateCheckBox2.Caption
If DateCheckBox3.Value = True Then Cells(emptyRow, 5).Value = Cells(emptyRow, 5).Value & " " & DateCheckBox3.Caption
If CarOptionButton1.Value = True Then
Cells(emptyRow, 6).Value = "Yes"
Else
Cells(emptyRow, 6).Value = "No"
End If
Cells(emptyRow, 7).Value = MoneyTextBox.Value
Exit Do
End If
ActiveCell.Offset(1, 0).Select
Loop
Else
Exit Sub
End If
End If
End Sub
ตัองขออภัยด้วยนะครับพอดีทำผ่านมือถือผมเลือกเป็นโค้ดไม่ได้
Re: รบกวนช่วยตรวจสอบ code การหาค่าที่ซ้ำ ในฐานข้อมูล
Posted: Fri Dec 01, 2017 6:28 am
by snasui

ช่วยแนบไฟล์พร้อม Code ล่าสุดมาใหม่จะได้สะดวกในการตอบครับ