Avatar billede darth-domino Nybegynder
14. juli 2005 - 11:09 Der er 7 kommentarer og
1 løsning

Hjælp med ADO Connection.

Jeg har denne finde kode, men den stopper her:
rsBellowDefaults.Open StringSQL, cnBellowDefaults, adLockReadOnly, adLockOptimistic

og skriver:
Run-time error '-2147217904 (80040e10)':
Der er ikke angivet nogen værdi for en eller flere kriterier parametre.

Her er min kode:
Public Sub LookForBellowDefaults()

Dim StringSQL As String
Dim cnBellowDefaults As New ADODB.Connection
Dim rsBellowDefaults As New ADODB.Recordset

cnBellowDefaults.Provider = "Microsoft.Jet.OLEDB.4.0"
cnBellowDefaults.ConnectionString = "Data Source=C:\MCAU\DATA\MCAU menu Datalister\MCAUdatabase.mdb;Persist Security Info=False"
cnBellowDefaults.Open

StringSQL = "SELECT * FROM StandardBellowDefaults WHERE Type Like Punch"

rsBellowDefaults.CursorLocation = adUseClient
rsBellowDefaults.Open StringSQL, cnBellowDefaults, adLockReadOnly, adLockOptimistic

If rsBellowDefaults.State = adStateOpen Then rsBellowDefaults.Close
Set rsBellowDefaults = Nothing
If cnBellowDefaults.State = adStateOpen Then cnBellowDefaults.Close
Set cnBellowDefaults = Nothing

End Sub
Avatar billede hiks Nybegynder
14. juli 2005 - 11:38 #1
det kan være fordi at dit feltnavn type er et reserveret ord i sql sammenhæng.

Prøv evt. (hvis det er en Access db):

StringSQL = "SELECT * FROM StandardBellowDefaults WHERE [Type] Like 'Punch'"

ellers så erstat dit attributnavn "Type" med noget andet.

/hiks
Avatar billede darth-domino Nybegynder
14. juli 2005 - 11:40 #2
Sådan her:
StringSQL = "SELECT * FROM StandardBellowDefaults WHERE [Type] Like [Punch]"

Samme problem!
Avatar billede hiks Nybegynder
14. juli 2005 - 11:45 #3
hvad er punch er det en attribut eller noget tekst?

/hiks
Avatar billede darth-domino Nybegynder
14. juli 2005 - 11:59 #4
Det er en text der står i kollonnen Type.
Avatar billede hiks Nybegynder
14. juli 2005 - 12:02 #5
ok - så skal du have det sådan her:

StringSQL = "SELECT * FROM StandardBellowDefaults WHERE [Type] Like 'Punch';"

Nu skriver du Like - vil det sige du vil have alt ud der minder om ordet Punch eller kun Punch. I sidste tilfælde så skal du skrive:

StringSQL = "SELECT * FROM StandardBellowDefaults WHERE [Type] = 'Punch';"

/hiks
Avatar billede darth-domino Nybegynder
14. juli 2005 - 12:02 #6
Har lige prøvet at lave det en smule om uden hjælp:
    Dim ManTypeFromExcel As String
    ManTypeFromExcel = Sheets("Hovedark").Range("L33")
    Dim StringSQL As String
    Dim cnBellowDefaults As New ADODB.Connection
    Dim rsBellowDefaults As New ADODB.Recordset

    cnBellowDefaults.Provider = "Microsoft.Jet.OLEDB.4.0"
    cnBellowDefaults.ConnectionString = "Data Source=C:\MCAU\DATA\MCAU menu datalister\MCAUdatabase.mdb;Persist Security Info=False"
    cnBellowDefaults.Open

    StringSQL = "SELECT * FROM StandardBellowDefaults WHERE [ManType] Like " & ManTypeFromExcel & ""

    rsBellowDefaults.CursorLocation = adUseClient
    rsBellowDefaults.Open StringSQL, cnBellowDefaults, adLockReadOnly, adLockOptimistic
Avatar billede darth-domino Nybegynder
14. juli 2005 - 12:03 #7
Så virker det:

    Dim ManTypeFromExcel As String
    ManTypeFromExcel = Sheets("Hovedark").Range("L33")
    Dim StringSQL As String
    Dim cnBellowDefaults As New ADODB.Connection
    Dim rsBellowDefaults As New ADODB.Recordset

    cnBellowDefaults.Provider = "Microsoft.Jet.OLEDB.4.0"
    cnBellowDefaults.ConnectionString = "Data Source=C:\MCAU\DATA\MCAU menu datalister\MCAUdatabase.mdb;Persist Security Info=False"
    cnBellowDefaults.Open

    StringSQL = "SELECT * FROM StandardBellowDefaults WHERE [ManType] Like '" & ManTypeFromExcel & "';"

    rsBellowDefaults.CursorLocation = adUseClient
    rsBellowDefaults.Open StringSQL, cnBellowDefaults, adLockReadOnly, adLockOptimistic

    MsgBox rsBellowDefaults("DN")
Avatar billede darth-domino Nybegynder
14. juli 2005 - 13:38 #8
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester