Gå til innhold

Korleis lukka databasekopling?


Anbefalte innlegg

Hei!

 

Eg har laga eit prosjekt i VB med videoutleige, kunderegister osv.

 

For å koma kjapt til problemet:

 

Eg har laga ein månadsrapport, kor det går an å skriva ut alle videoane som er leigt ut ved å skriva inn første dato og siste dato i månaden.

 

Denne fungerer heilt fint, men når eg lukker rapporten og skal skriva ut ein gong til, får eg følgjande feilmelding når eg skriv inn den siste datoen:

 

Run-time error 3705:

Operasjonen er ikke tillatt når objektet er åpent.

 

Eg kopler til databasen ved hjelp av Data Environment, og følgjande SQL-snutt i cmdMånedsrapport:

SELECT Filmer.Tittel, Filmer.Type, Priskategorier.Pris, Utleie.Dato FROM Priskategorier INNER JOIN (Kunderegister INNER JOIN (Filmer INNER JOIN Utleie ON Filmer.FilmID = Utleie.FilmID) ON Kunderegister.Kundenummer = Utleie.Kundenummer) ON Priskategorier.Priskategori = Filmer.Priskategori GROUP BY Filmer.Tittel, Filmer.Type, Priskategorier.Pris, Utleie.Dato HAVING (((Utleie.Dato) BETWEEN `Skriv inn første dato:` AND `Skriv inn andre dato:`));

 

Koden er vel klippa direkte frå Access viss eg ikkje hugsar heilt feil.

 

Eg har konkludert med at feilen kjem når han skal leggja til to inputs, når han allereie har fått dei tidlegare. Det må vel difor vera nok å lukka koplinga cmdMånedsrapport og deretter opna ho igjen når ho er tilbakestilt?

 

Men korleis gjer eg dette?

Lenke til kommentar
Videoannonse
Annonse

Når du skriver deDatabase.cmdMånedsrapport.Close og trykker mellomrom, kommer det opp et tooltip vindu hvor det står f.eks.

"Recordset.Close(Parameter1 As IDatabase)" eller noe slikt, se hva det står der, og fyll inn det du kan tenke deg den trenger.

 

Vent... nå tror jeg at jeg husker data environment, det er MSDE du snakker om! dumme meg... privat versjon av Microsoft SQL Server med opp til 5 brukere som følger med Visual Studio 6.0... nå har ikke jeg MSDE installert, så jeg kan desverre ikke hjelpe deg med det.

Lenke til kommentar

Du bør helst ikke bruke Data Enviroment, men heller gå rett over til ADO. Referer Microsoft ActiveX Data Objects 2.0 Library og alloker databasen og tilkoblingen med denne koden:

 

Private WithEvents connConnection As ADODB.Connection
Private WithEvents rsRecordSet As ADODB.Recordset

 

Denne artikkelen her gir utvilsomt en god forklaring på hvordan du skal bruke ADO, så jeg vil anbefale deg å lese den.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...