[VBA] Database-connectie opzetten vanuit Access

Pagina: 1
Acties:

  • nenne
  • Registratie: Juni 2004
  • Laatst online: 06-06-2024
Hoi Tweakers,

Ik krijg een hele irritante foutmelding waarvan ik de oorzaak maar niet kan ontdekken. Ik heb een formulier gemaakt in Access, waarmee je door op een knop te klikken een XML-document inleest en de inhoud daarvan vervolgens weg dient te schrijven naar allerlei tabellen. Ik ben in VBA bezig de inhoud van het ingelezen XML-document (wat is weggeschreven naar een tabel) op te halen, dus zet ik eerst een databaseconnectie op, als volgt:

'Database-connectie maken:
'Call modDatabaseConnectie.openDatabase
Set gConn = New ADODB.Connection
gConn.ConnectionString = " Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\nanvee1d\Bureaublad\Telematica_B\De_Smullerij.mdb"
gConn.Open

De connection-string is op dit moment statisch, maar dat even terzijde. Als ie bij de regel gConn.Open aankomt, verschijnt de melding: "De database is door gebruiker Admin in een toestand gebracht waarin deze niet kan worden geopend of vergrendeld".

Ik heb meerdere malen de code doorlopen, in de HELP-file gezocht etc, maar ik kom er niet uit. Heeft iemand een idee?

Verwijderd

Je zit toch al in de database waarnaar je een connectie wilt hebben ? Waarom maak je dan NOG een connectie ?

  • PaulZ
  • Registratie: Augustus 2004
  • Laatst online: 21-05-2024
Zit je niet in die De_Smullerij.mdb op hetzelfde moment te werken (mdb open)?
Via de tabeltab kan je in Access toch gewoon het xml-bestand koppelen of importeren? Dan hoef je die connectionstring niet meer te maken.
Of staat deze VBA-code in een ander Office-pakket?

[ Voor 0% gewijzigd door PaulZ op 22-11-2004 12:19 . Reden: FFrenzy was met net voor! ]

Vlinders moet je volgen, niet vangen...


  • nenne
  • Registratie: Juni 2004
  • Laatst online: 06-06-2024
Verwijderd schreef op maandag 22 november 2004 @ 12:17:
Je zit toch al in de database waarnaar je een connectie wilt hebben ? Waarom maak je dan NOG een connectie ?
Helemaal mee eens, maar dat deed ik voor de volledigheid aangezien met de volgende regel het door mij opgegeven SQL-statement wordt uitgevoerd:

code:
1
rRst.Open sSql, gConn, adOpenStatic, adLockOptimistic


gConn is de connetiestring, en omdat ik niet zou weten wat hier anders zou moeten staan, heb ik de connectie opnieuw gedefinieerd... Overigens krijg ik deze foutmelding sinds vandaag, terwijl het eerder al gewerkt heeft.....

Hoe zou ik de connectiestring anders moeten definiëren?

  • nenne
  • Registratie: Juni 2004
  • Laatst online: 06-06-2024
Ik zou dus ws in die parameter (ActiveConnection) de DB waarin ik werk moeten meegeven, toch?

Verwijderd

code:
1
set rst = currentdb.openrecordset(.....)

  • nenne
  • Registratie: Juni 2004
  • Laatst online: 06-06-2024
Verwijderd schreef op maandag 22 november 2004 @ 13:26:
code:
1
set rst = currentdb.openrecordset(.....)
Je werkt nu volgens DAO, aangezien dat verouderd is doe ik het liever met ADO...

Toch ben ik er nog steeds niet over uit: ik wil met VBA een bewerking uitvoeren op de huidige database, dus een connectie opzetten lijkt me inderdaad overbodig.

Nu heb ik een SQL-statement gemaakt, welke ik wil uitvoeren met de code:

code:
1
rRst.Open sSql, gConn, adOpenStatic, adLockOptimistic


gConn is de connectiestring, maar deze is niet gevuld. De parameter heet ActiveConnection, en deze dient een waarde te krijgen. Ik denk wel dat het mogelijk is dat mbv dit statement te realiseren, maar welke waarde krijgt de parameter??

Verwijderd

heb het antwoord voor je gevonden. Er is een ADO-connectie aanwezig, namelijk currentproject.connection

  • nenne
  • Registratie: Juni 2004
  • Laatst online: 06-06-2024
Verwijderd schreef op maandag 22 november 2004 @ 13:54:
heb het antwoord voor je gevonden. Er is een ADO-connectie aanwezig, namelijk currentproject.connection
Ik probeer het meteen eventjes, bedankt voor de moeite! Ik kom er later op terug.

Ciao!

  • nenne
  • Registratie: Juni 2004
  • Laatst online: 06-06-2024
Thanx FFrenzy voor je hulp, ik heb het inmiddels werkend!

_/-\o_
Pagina: 1