View Full Version : خطا هنگام add in db
saed2006
جمعه 17 آبان 1387, 13:33 عصر
با سلام
هنگام اجرای این کد Adox.Recordset.AddNew
این خطا رو میده
object variable or with block variable not set
به نظر شما
چه علتی می تواند داشته باشد؟
Pr0grammer
جمعه 17 آبان 1387, 13:45 عصر
اینطوری استفاده کنید :
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields("Name") = "Reza"
Adodc1.Recordset.Update
اگه نتونستی بگو یه Sample بزارم واست...
موفق باشی
Mbt925
جمعه 17 آبان 1387, 16:49 عصر
- شاید شیء رو درست ایجاد نکردید
- دیتابیس رو باز نکردید
- دیتا ستی رو دریافت نکردید
نمونه تون رو اینجا قرار بدید تا اصلاح بشه.
Pr0grammer
جمعه 17 آبان 1387, 17:46 عصر
سعید جان، حق با Mbt925 هستش، باید سورس رو بزاری! فکر کنم مشکلت این باشه که به DataGrid بانک رو Set نکردی، ببین این مشکلتو حل میکنه!
Private Sub Form_Load()
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=Test.mdb"
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "Select * From [Table1]"
Set DataGrid1.DataSource = Adodc1
Adodc1.Recordset.AddNew
End Sub
اگه خط Set DataGrid1.DataSource = Adodc1 رو برداری می بینی که همون Errorای که گفتی رو میده!
saed2006
شنبه 18 آبان 1387, 21:35 عصر
آقا رضا عزیز مشکل با این کد هم حل نشد
help خود vb6 رو ببینید:
There are two steps to creating an object variable. First you must declare the object variable. Then you must assign a valid reference to the object variable using the Set statement. Similarly, a With...End With block must be initialized by executing the With statement entry point. This error has the following causes and solutions:
You attempted to use an object variable that isn't yet referencing a valid object.
Specify or respecify a reference for the object variable. For example, if the Set statement is omitted in the following code, an error would be generated on the reference to MyObject:
Dim MyObject As Object ' Create object variable.
Set MyObject = Sheets(1) ' Create valid object reference.
MyCount = MyObject.Count ' Assign Count value to MyCount.
You attempted to use an object variable that has been set to Nothing.
Set MyObject = Nothing ' Release the object.
MyCount = MyObject.Count ' Make a reference to a released object.
Respecify a reference for the object variable. For example, use a new Set statement to set a new reference to the object.
The object is a valid object, but it wasn't set because the object library in which it is described hasn't been selected in the References dialog box.
Select the object library in the Add References dialog box.
The target of a GoTo statement is inside a With block.
Don't jump into a With block. Make sure the block is initialized by executing the With statement entry point.
You specified a line inside a With block when you chose the Set Next Statement command.
The With block must be initialized by executing the With statement.
For additional information, select the item in question and press F1 (in Windows) or HELP (on the Macintosh).
واقعا موندم مشکل از کجاست
hamed aj
یک شنبه 19 آبان 1387, 11:37 صبح
با سلام
هنگام اجرای این کد Adox.Recordset.AddNew
این خطا رو میده
object variable or with block variable not set
به نظر شما
چه علتی می تواند داشته باشد؟
با سلام
لطف کنید و کدهای مربوط به ایجاد و مقدار دهی شیء تون رو اینجا بگذارید
saed2006
یک شنبه 19 آبان 1387, 13:13 عصر
با سلام
لطف کنید و کدهای مربوط به ایجاد و مقدار دهی شیء تون رو اینجا بگذارید
Private Sub UserForm_Initialize()
Dim CNETABS As New Connection
Dim rs As New Recordset
Dim rstemp As New Recordset
Dim rst As New Recordset
Dim rst2 As New Recordset
Dim CNETABS2 As New Connection
Dim CtlName As Control
introw = 1
CNETABS.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "c:\saze\" + curentfolder + "\" + "grid.mdb" & ";Persist Security Info=False"
filenamef
Dim CLPNT(0 To 9) As Double
CNETABS2.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filename & ";Persist Security Info=False"
rs.Open "SELECT * FROM [Bar] ", CNETABS, adOpenStatic, adLockBatchOptimistic
rstemp.Open "SELECT * FROM [BeamGroup] ", CNETABS, adOpenStatic, adLockBatchOptimistic
rst.Open "SELECT * FROM [grid] ", CNETABS, adOpenStatic, adLockBatchOptimistic
rst2.Open "SELECT * FROM [Frame Section Assignments]", CNETABS2, adOpenStatic, adLockBatchOptimistic
Do Until rs.EOF
cmbmildown.AddItem rs.Fields.Item(6), i
cmbmiltop.AddItem rs.Fields.Item(6), i
rs.MoveNext
i = i + 1
Loop
i = 0
rst2.MoveFirst
Do Until rst2.EOF
If rst2.Fields("LineType") = "Beam" Then
cmbtir.AddItem rst2.Fields("Line"), i
i = i + 1
End If
rst2.MoveNext
Loop
adox.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "c:\saze\" + curentfolder + "\" + "grid.mdb" & ";Persist Security Info=False"
adox.CommandType = adCmdText
adox.RecordSource = "Select * From [BeamGroup]"
Set MSFlexGrid1.DataSource = adox
End Sub
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.