Jag får följande problem när jag har uppdaterat ett program från VB6 till VB2008, vad är det som inte stämmer - jag har sökt lite i hjälpfiler men jag hittar inget "vettigt". Några tips?? Kan du inte gå över till ado.net istället och skippa adodb? Kolla vilket HResult du får i din Exception och googla eller binga (säger man så?) på det. Vad försöker du göra med den kod? Jag har löst problemet själv... jag refererade till fel tabell i databasen, när detta var tillrättat så fungerade det perfekt. Jag ber om ursäkt för att jag upptagit er tid med mitt problem.System.Runtime.InteropServices.COMException
Private Sub cmdOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdOK.Click
Dim CONN3 As New ADODB.Connection
Dim SQL3 As String
Dim DATA2 As New ADODB.Recordset
CONN3.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & BENJdbs & ";Jet OLEDB:Database Password=")
SQL3 = "SELECT * FROM Exportdatabas WHERE LIC = 2200"
DATA2.CursorLocation = ADODB.CursorLocationEnum.adUseClient
DATA2.Open(SQL3, CONN3, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockReadOnly)
Do Until DATA2.EOF = True
Me.txtID = DATA2.Fields("LIC").Value
DATA2.MoveNext()
Loop
DATA2.Close()
End Sub
Sv: System.Runtime.InteropServices.COMException
Sv: System.Runtime.InteropServices.COMException
Sv: System.Runtime.InteropServices.COMException
1. I din SQL sats skriver du: "...LIC = 2200" Vilket innebär att om poster retuneras kommer dessa LIC kolumn vara 2200.
2. I din loop Skriver du över värde. Om det bara finns ett värde går det lika bra med en if satts:
If DATA2.EOF = True Then
Me.txtID = DATA2.Fields("LIC").Value
End IF
3. Eftersom LIC kolumnen kommer ha värdet 2200 varför loopar du varför hämtar du värdet?
If DATA2.EOF = True Then
Me.txtID = "2200"
End If
Så min fråga är, vad försöker du göra, vad skall resultatet bli?
Sv:System.Runtime.InteropServices.COMException
Mvh Claes