Avatar billede mosskov Praktikant
29. marts 2010 - 20:48 Der er 15 kommentarer og
1 løsning

Modul/kode

Jeg har brugt denne kode til min database i access 2003
men jeg har svært med at få den til at virke i access 2007

Option Compare Database
Option Explicit


Public Function OpdatertmpFaktura_Under()
    Dim db As Database
    Dim rs As DAO.Recordset
    Dim n As Long
    DoCmd.SetWarnings False
    DoCmd.RunSQL "Delete From tmpFaktura_Under"
    DoCmd.OpenQuery "Faktura_Opret_tmpFaktura_Under"
    DoCmd.SetWarnings True
    Set db = CurrentDb
    Set rs = db.OpenRecordset("Select * From tmpfaktura_under Order By Sort_Serier, Sort_Grupper, Fakturanr, Klassenr", dbOpenDynaset)
    Do Until rs.EOF
        n = n + 1
        rs.Edit
        rs!Burnummer = n
        rs.Update
        rs.MoveNext
    Loop
    rs.Close
    Set rs = Nothing
   
End Function

det er som om den ikke kan indsætte burnummer i tabellen
kan i se nogen fejl ??
Avatar billede terry Ekspert
29. marts 2010 - 21:01 #1
check you have a reference to DAO (Tools+References)
Avatar billede fdata Forsker
29. marts 2010 - 21:58 #2
Prøv evt.
OpenRecordset(..., dbOpenDynaset, dbSeeChanges)
Avatar billede mosskov Praktikant
29. marts 2010 - 22:55 #3
hej
det kan godt være det er rigtigt men det sige mig intet.
jeg kan ikke skrive kode, det er en fra Eksperten der har lavet den for mig
vil i uddybe det lidt så kan det være at jeg forstår det
gerne på dansk
Avatar billede terry Ekspert
30. marts 2010 - 09:00 #4
Kan du send mig din dB?

ekspertenATsanthell.dk
AT = @
Avatar billede fdata Forsker
30. marts 2010 - 18:33 #5
"Jeg kan ikke skrive kode", skriver du. Tjah, det er jo lykkedes dig at klippe koden ud og vise den her. Du skal bare ind samme sted og prøve at rette den ene linje fra:
      Set rs = db.OpenRecordset("Select * From tmpfaktura_under Order By Sort_Serier, Sort_Grupper, Fakturanr, Klassenr", dbOpenDynaset)
til
      Set rs = db.OpenRecordset("Select * From tmpfaktura_under Order By Sort_Serier, Sort_Grupper, Fakturanr, Klassenr", dbOpenDynaset, dbSeeChanges)
Avatar billede mosskov Praktikant
30. marts 2010 - 18:57 #6
Hej fdata
jeg har prøvet men det virker ikke.

Hej terry
Jeg sender databasen til dig
Avatar billede fdata Forsker
30. marts 2010 - 20:14 #7
OK. Venter spændt ;o)
Avatar billede terry Ekspert
30. marts 2010 - 20:53 #8
You indicate that the query worked in 2003 but doesnt in 2007.


The table Tmpfaktura_under doesnt contain a field named
rs!Burnummer

Maybe Felt4?

And also the line which openes the recordset alos needs altering, as fdata indticates

Set rs = db.OpenRecordset("Select * From tmpfaktura_under Order By Sort_Serier, Sort_Grupper, Fakturanr, Klassenr", dbOpenDynaset, dbSeeChanges)
Avatar billede mosskov Praktikant
03. april 2010 - 12:11 #9
Hej terry / fdata

Hvis jeg forstår dig rigtig Terry vil du ser på mit spørgsmål efter din ferie.

jeg vil gerne forklare hvad jeg bruger min database til.
det til udstilling af kanarier
medlenmmer tilmelder fugle som jeg derefter fordeler i forskellige serier og grupper.
når de er indsat i den rigtige rækkefølge indsættes burnummer.

en knap kører en marko som igen kører en modul/funktion
der laver en tabelforspørgelse og indsætter et extra feldt i den nye tabel (Burnummer) autonummerering
svar gerne på dansk.
Avatar billede terry Ekspert
04. april 2010 - 11:35 #10
Hej Mogens
Mit sidste svar på eksperten var lidt hasteværk da jeg skulle på ferie.

Som jeg ser det har koden aldrig virket, hverken i 2003 eller 2007.

Denne linie kode siger at der er et felt med navnet "Burnummer" i tabellen " tmpfaktura_under", men det er der ikke. Der er et felt med navnet "Felt4", er det dette felt du mener?   

rs!Burnummer = n

Før jeg kan rette koden er jeg nødt til at vide om felt4 skal ændres til Burnummer, eller om Burnummer skal ændres til felt4. Jeg kan også se at i forespørgelsen " Faktura_opret_Tmpfaktura_under Forespørgsel" bruger du også feltnavnet "Burnummer" (SELECT Faktura_opret_Tmpfaktura_under.Burnummer ....) !!!

Og der er måske andre steder hvor du ikke har styr på feltnavnene. Måske var det en ide at du først fik styr på disse da det er svært for os at hjælpe hvis vi støder ind i disse problemer?


Og som fdata indikere, så skal koden ændres fra

Set rs = db.OpenRecordset("Select * From tmpfaktura_under Order By Sort_Serier, Sort_Grupper, Fakturanr, Klassenr", dbOpenDynaset)

til

Set rs = db.OpenRecordset("Select * From tmpfaktura_under Order By Sort_Serier, Sort_Grupper, Fakturanr, Klassenr", dbOpenDynaset, dbSeeChanges)

Angående din sidste kommentar, tror jeg vi skal have lidt mere info. 
" en knap kører en marko som igen kører en modul/funktion
der laver en tabelforspørgelse og indsætter et extra feldt i den nye tabel (Burnummer) autonummerering"

Og i din mail til mig nævner du noget med at du gerne vil lave 3 kopier. Igen lidt mere info vil hjælpe.

" Kan man inde i Over faktura der hvor man indtaster fugle lave en knap/marko
Så at når man skriver en post ind at den laver 3 mere så der altid
er 4 ens fugle " S"
Avatar billede mosskov Praktikant
04. april 2010 - 16:32 #11
Hej Terry

Koden virker i Access 2003
Jeg har stadig den database som Thomasjepsen rettede til, den kører på en anden pc med access 2003
jeg kan eventuel sende den til dig?

Jeg vil uddybe mit spørgsmål lidt.
jeg modtage tilmeldninger fra ca. 80 forskellige medlemmer
hver især har fugle i forskellige serier og grupper som
jeg indtaster som en ordrebekræftelse.
disse fugle skal jeg have sorteret i serier og grupper.
så vi kan opstille dem på reoler i rækkefølge og lave et katalog.

når de er sorteret i en forespørgelse er den en marko der starter
koden "Funktioner" (se Muduler)
den kode laver en tabeloprettelse, i den ny tabel indsætter koden et nyt felt Burnummer og sættes til autonummerering

felt4 har ikke noget med burnummeret at gøre.

mit tillægspørgsmål vil jeg gerne lave som et nyt sp. så jeg kan give flere point.
Avatar billede terry Ekspert
04. april 2010 - 17:17 #12
Jeg har prøvet i Access 20003 (efter konvertering) uden held men du kan godt sende den du har.

"felt4 har ikke noget med burnummeret at gøre"
Det kan jeg måske se når jeg modtager dB'en til Access 2003, men i Access 2007 viker koden ikke pga at der ingen felt "Burnummer"

"mit tillægspørgsmål vil jeg gerne lave som et nyt sp. så jeg kan give flere point. "

De kan teldeles her.
Avatar billede terry Ekspert
05. april 2010 - 11:40 #13
Til fdata:

Jeg har nu modtaget den gamle dB og den virker i 2003 OG 2007!!

Som jeg svarede  "Skrevet man. d. 29. marts 2010 kl. 21:01:19| #1" skulle du kontrollere referencer.

I det gamle dB er der er reference til DAO, det er der ikke i den nye!
Men det løser KUN problemet med at åbne recordsetet.

Den nye database virker ikke, fordi der er lavet om på forskellige objekter (forms/queries referencer m.m.) !!

Jeg mailer med mogens for at finde en løsning.
Avatar billede terry Ekspert
06. april 2010 - 08:32 #14
Har tilføjet en felt Burnummer til tabellen og ændret en "Create table query" til en "Append query".

Nu virker det
Avatar billede mosskov Praktikant
06. april 2010 - 21:19 #15
Jeg ville gerne have givet dig flere point
skal jeg oprette et nyt spørgsmål.???
Avatar billede terry Ekspert
06. april 2010 - 21:48 #16
No need for more :o)
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