Error Msg = Object variable or with block
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 301   2
URL.หัวข้อ / URL
Error Msg = Object variable or with block

Option Explicit
Dim DB As Database
Dim Rs As Recordset
Dim Qdf As QueryDef

Private Sub DBList1_Click()
If DBList1.Text <> "" Then



Qdf.Parameters!Name = DBList1.Text ' สลับบรรทัดนี้
Set Rs = Qdf.OpenRecordset
Set Qdf = DB.QueryDefs("SumSweet") 'สร้าง Query

'Qdf!Name = DBList1.Text
'Set Rs = Qdf.OpenRecordset
'Set Qdf = DB.QueryDefs("Myquery")

Text1.Text = Rs!SumNET
End If
End Sub

Private Sub Form_Load()
Dim SQl As String
Set DB = OpenDatabase("Nwind.mdb")
SQl = "Parameters Name text; "
SQl = SQl & "SELECT Sum(Products.UnitsinStock) as SumNet "
SQl = SQl & "From Products INNER JOIN Categories ON "
SQl = SQl & "Products.CategoryID=Categories.CategoryID "
SQl = SQl & "WHERE Categories.Categoryname=name"
'Set Qdf = DB.CreateQueryDef("SumSweet ", SQl) บรรทัดนี้ไม่ใช้ เนื่องจากได้สั่งใหม่ สร้าง Query ที่ DBList1_Click แล้ว
End Sub

Private Sub Form_Unload(Cancel As Integer)
DB.QueryDefs.Delete Qdf.Name
DB.Close
End Sub

2 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R03321
ลองแบบนี้ครับ

Set Qdf = DB.QueryDefs("SumSweet") ' เปิด Query
Qdf.Parameters!Name = DBList1.Text
Set Rs = Qdf.OpenRecordset

ส่วนบันทัดนี้ต้องมีเหมือนเดิม

Set Qdf = DB.CreateQueryDef("SumSweet ", SQl)

ซึ่งจะต้องตรวจดูก่อนว่ามี SumSweet อยู่หรือยังด้วย ซึ่งจะต้องลบก่อนที่จะสร้างใหม่ด้วยครับ

2 @R03322
ช่วยดูหน่อยนะครับ Error บรรทัดดังกล่าว
1. make 3 บรรทัดบน แล้ว สลับบรรทัดแจ้งว่า
Object Variable or with block variable not set


2. Object 'Sumsweet ' already exists.
แจ้ง Error บรรทัดนี้แล้ว Set Qdf = DB.CreateQueryDef("SumSweet ", SQl) ถ้าไม่ make บรรทัดนี้

@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.1168s