Avatar billede puppetmaster Nybegynder
10. februar 2004 - 11:08 Der er 14 kommentarer og
2 løsninger

openRecordset problemer

Følgende openRecordset virker fint når der er tale om en Access backend:
  Set rst = dbs.OpenRecordset(diagramme.Domain.SQLString, dbSeeChanges)
men når jeg prøver med en SQL Server backend, får jeg følgende fejl:
Run-time error '3001':
Argumentet er ugyldigt.

Når jeg fjerner dbSeeChanges, får jeg denne fejl:
Run-time error '3622':
Du skal bruge indstillingen dbSeeChanges med OpenRecordset ved adgang til en SQL Server-tabel, der har en IDENTITY-kolonne.
Hvis jeg prøver med
  Set rst = dbs.OpenRecordset(diagramme.Domain.SQLString, dbOpenDynaset, dbSeeChanges)
får jeg denne fejl:
Run-time error '3601':
Der er for få parametre. Der var ventet 1.
10. februar 2004 - 11:16 #1
det kan godt være, at jeg bare er nybegynder, men hvad er "diagramme.Domain.SQLString"? Den syntaks tror jeg ikke at Access godkender? Eller hvad?

Jeg troede også, at det var Access som ikke virkede med dbseechanges??
Avatar billede puppetmaster Nybegynder
10. februar 2004 - 11:21 #2
Når jeg indsætter
MsgBox diagramme.Domain.SQLString
Får jeg en SQL streng
SELECT * FROM [tabel] WHERE (([Sted]='ND') AND ([Type]='53')) AND ([Dato] between #01-01-03# and #01-30-04#) ORDER BY [Dato]
Så det er vel ikke helt ved siden af?
Avatar billede puppetmaster Nybegynder
10. februar 2004 - 11:23 #3
Diagramme er et objekt af typen DiagrammeClass.
(data overføres fra Access til et Excel diagram)
Access kan fint genkende objektet, når jeg skriver diagramme.Domain og sætter endnu et punktum, foreslår Access en masse funktioner/egenskaber for objektet.
10. februar 2004 - 11:27 #4
Så lærte jeg det :o)

Din SQL ser ganske rigtig fin ud! Hvordan defineres den? Hvordan ser parametrene ud? Ofte kan man ikke bruge referencer til f.eks. formularer, når man sætter et Recordset på den måde.
Avatar billede puppetmaster Nybegynder
10. februar 2004 - 11:30 #5
Det sidste du skriver, gælder det kun i tilfælde af en SQL Server backend eller også ved en Access ditto? (for ovenstående virker fint ved Access, men IKKE ved SQL Server!) :(
Avatar billede puppetmaster Nybegynder
10. februar 2004 - 11:35 #6
I Debug-tilstand er dbSeeChanges = 512 og dbOpenDynaset = 2
Avatar billede puppetmaster Nybegynder
10. februar 2004 - 11:43 #7
Jeg har andre diagrammer, på samme formular, som benytter samme funktion, uden problemer. Når jeg sætter en msgbox ind lige før connect-strengen, får jeg ved de andre diagrammer vist connect-strengen én gang, men med ovenstånede diagram, får jeg vist den TO gange! Hvis jeg f.eks. forsøger at køre et af de andre diagrammer og vil lukke Excel, bliver jeg spurgt om jeg vil gemme ændringerne til Mappe1, hvilket jeg svarer nej til. Hvis jeg derimod forsøger at køre ovenstående diagram 5-6 gange i træk, hvor den går i fejl og derefter kører et af de andre diagrammer igen, bliver jeg spurgt om jeg vil lukke Mappe7, så Mappe6 osv. Så den åbner altså Excel, men går så i "ged".
Avatar billede puppetmaster Nybegynder
10. februar 2004 - 11:50 #8
SQLString for et af de diagrammer der virker:
SELECT * FROM [Tabel2] WHERE ([Dato] between #01-01-04# and #01-30-04#) ORDER BY [Dato]
Avatar billede puppetmaster Nybegynder
10. februar 2004 - 11:54 #9
Når jeg fjerner
(([Sted]='ND') AND ([Type]='53')) AND
fra strengen så virker det (bortset fra at jeg ikke får filtreringen med!)
Avatar billede terry Ekspert
10. februar 2004 - 11:57 #10
This error> "Der er for få parametre. Der var ventet 1."
indicates that a parametr is required, very likely [Sted] or [Type] are you 100% sure that these fields exist in  [Tabel2] ?
Avatar billede puppetmaster Nybegynder
10. februar 2004 - 12:04 #11
Well, since I didn't create this system, no, I wasn't sure that there was a Sted and Type field in the table, but now that I look at it, there ISN'T a Type field!!!!!! :(
But, please tell me, HOW can it be that the SQLString works fine with an Access backend, the field Type isn't in the Access backend nor the SQL Server ditto?! :(
10. februar 2004 - 12:07 #12
Type er et reserveret ord (en egenskab), så måske tror Access-versionen at du refererer tl denne egenskab. Access er lidt mere 'large' med den slags.
Avatar billede puppetmaster Nybegynder
10. februar 2004 - 12:14 #13
Tja, jeg skal bare have fundet stedet hvor SQLString bliver tildelt sin værdi (hvilket den gør via variablen FilterTekst), så skulle sagen være hjemme.
Smid et svar, thomas, så du også kan få point.
Avatar billede puppetmaster Nybegynder
10. februar 2004 - 12:23 #14
Så virker det!!! :) Takker!
10. februar 2004 - 12:30 #15
takker :o)
Avatar billede terry Ekspert
10. februar 2004 - 14:34 #16
selv tak
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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