กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
313 4
URL.หัวข้อ /
URL
ปัญหา .FindFirst ครับ ท่านไหนทราบ ขอความกรุณาด้วยครับ
Sub cmdBeginProcessing_Click()
dim db as Database,strCriteria as String
dim rs1,rs2 as Recordset
set db =Currentdb
set rs2=db.Openrecordset("tblStudents",dbopenSnapshot)
set rs1=db.Openrecordset("tblStudentGroup",dbopenDynaset)
Do while not rs2.EOF
IF rs2![StudentGrade]=4 Then
strCriteria = "GeniusGruop"
Else
strCriteria = "NormalGroup"
End If
rs1.FINDFIRST "StudentGroup = " & strCriteria ' Line 12
IF Not rs1.NoMatch THEN
rs1.Edit
rs1!Amount = rs1!Amount + 1
rs1.Update
Endif
rs2.MoveNext
LOOP
End Sub
ปัญหาตอน Run จะมีหน้าต่าง Compile Error พร้อมมีHighLightที่Codeบรรทัด 12
ท่านไหนทราบปัญหา กรุณาให้คำแนะนำด้วย ขอขอบพระคุณล่วงหน้าครับ
dim db as Database,strCriteria as String
dim rs1,rs2 as Recordset
set db =Currentdb
set rs2=db.Openrecordset("tblStudents",dbopenSnapshot)
set rs1=db.Openrecordset("tblStudentGroup",dbopenDynaset)
Do while not rs2.EOF
IF rs2![StudentGrade]=4 Then
strCriteria = "GeniusGruop"
Else
strCriteria = "NormalGroup"
End If
rs1.FINDFIRST "StudentGroup = " & strCriteria ' Line 12
IF Not rs1.NoMatch THEN
rs1.Edit
rs1!Amount = rs1!Amount + 1
rs1.Update
Endif
rs2.MoveNext
LOOP
End Sub
ปัญหาตอน Run จะมีหน้าต่าง Compile Error พร้อมมีHighLightที่Codeบรรทัด 12
ท่านไหนทราบปัญหา กรุณาให้คำแนะนำด้วย ขอขอบพระคุณล่วงหน้าครับ
4 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R06231
บรรทัดที่ 2 พิมพ์แทรกนะครับ ไม่ใช่พิมพ์ทับของเดิม.
-----
http://www.greatfriends.biz
-----
http://www.greatfriends.biz
3 @R06235
ผมลองตามที่อ. surrealist กรุณาแนะนำมา ผลปรากฎว่ายังขึ้นกรอบข้อความ
Compile Error
Syntax Error
อยู่อีกเช่นเดิม อ.จะกรุณาแนะนำวิธีอื่น ให้ลองดูใหม่อีกไหมครับ
อย่างไรก็ตาม ขอขอบพระคุณอย่างยิ่งในความกรุณา.
Compile Error
Syntax Error
อยู่อีกเช่นเดิม อ.จะกรุณาแนะนำวิธีอื่น ให้ลองดูใหม่อีกไหมครับ
อย่างไรก็ตาม ขอขอบพระคุณอย่างยิ่งในความกรุณา.
4 @R06239
ผมใช้ประจำครับ สังเกตเครื่องหมาย ' กับ " ครับ
การใช้ FindFirst กับค่าที่เป็น Charactor
rs1.FINDFIRST ("StudentGroup = '" & strCriteria & "'")
หลังเครื่องหมาย = ต้องใช้ ' ตามด้วย "
ส่วนชุดสุดท้ายใช้ " ตามด้วย ' ตามด้วย "
วัตถุประสงค์ก็คือต้องการให้ค่าตัวแปรถูกปิดด้วย ' จะเท่ากับ 'ตัวแปร'
เนื่องจากการอ้างอิงถึงตัวแปรใน code ต้องปิดหัว/ท้ายด้วย ' ครับ
การใช้ FindFirst กับค่าที่เป็น Numeric
rs1.FINDFIRST ("StudentGroup = " & strCriteria)
อันนี้ไม่ต้องมี ' ปิดหัว/ท้าย แต่ตัวแปรต้องเป็น numeric ด้วย
ไม่งั้นจะขึ้น error ว่า Data type mismatch ครับ
การใช้ FindFirst กับค่าที่เป็น Charactor
rs1.FINDFIRST ("StudentGroup = '" & strCriteria & "'")
หลังเครื่องหมาย = ต้องใช้ ' ตามด้วย "
ส่วนชุดสุดท้ายใช้ " ตามด้วย ' ตามด้วย "
วัตถุประสงค์ก็คือต้องการให้ค่าตัวแปรถูกปิดด้วย ' จะเท่ากับ 'ตัวแปร'
เนื่องจากการอ้างอิงถึงตัวแปรใน code ต้องปิดหัว/ท้ายด้วย ' ครับ
การใช้ FindFirst กับค่าที่เป็น Numeric
rs1.FINDFIRST ("StudentGroup = " & strCriteria)
อันนี้ไม่ต้องมี ' ปิดหัว/ท้าย แต่ตัวแปรต้องเป็น numeric ด้วย
ไม่งั้นจะขึ้น error ว่า Data type mismatch ครับ
Time: 0.1202s
line 2:
Const QT = "'" ' ---- พิมพ์ 3 ตัวอักษร (double-quote single-quote double-quote)
line 12:
rs1.FindFirst "StudentGroup=" & QT & strCriteria & QT
บรรทัดที่ 8 อาจจะเขียนชื่อคอลัมน์ไม่ถูกนะครับ
Good luck!
-----
http://www.greatfriends.biz