12. maj 2000 - 08:43Der er
15 kommentarer og 1 løsning
Hjælp!!! acces 2000
Jeg er ved at lave en database med flere tabeller; men er stødt ind i problemer. 1) I formularen har jeg en "registreringsdato, som gerne skulle udfylde sig selv, hver gang jeg åbner en ny post. Det kan jeg ikke få den til. 2)Et felt med "aftalenr" begyndende fra 500 også udfylde sig selv, hver gang jeg åbner en ny post. Det kan jeg heller ikke få den til. 3)Når jeg udfylder mit felt med "Postnr" (har brugt DLoop o.s.v.)udfyldes "Bynavn" med København K, uanser hvilket postnr. jeg taster. Hvad har jeg gjort forkert? Kan nogen hjælpe!
1) vælg (kontrolnavn)_GotFocus If IsNull(feltnavn) Then Text0 = Date (eller dato hvis Access DK) End If
2) hvor kommer resten af info fra ?
3) Vælg postnr_exit Dim varBy As Variant varBy = DLookup("Bynavn", "Postnr", "postnr = [postnr]") If (Not IsNull(varBy)) Then Bynavn = varBy Else Bynavn = "*MANGLER*" End If
Hej igen, jeg har slet ikke forstand på programeringssprog, så jeg må skrive direkte af efter jeres anvisninger. Skal der være ophold mellem de forskellige ord i det i skriver?
Ang. 1) Min tabel hedder "Aftaler" og feltet hedder "RegDato" i formularen "Aftaler"
Ang. 2)Min tabel hedder "Aftaler" og feltet hedder "Aftalenr" i formularen "Aftaler"
Ang. 3) Mine tabeller hedder "Postnumre" og "Aftaler" og felterne hedder "Postnr" og "By" i formularen "Aftaler"
Jeg har forsøgt; men jeg nok noget forkert Mvh Fie
1) Hvorfor ikke bare sætte standardværdien = now() (el. date()): Åbn tabellen i designvisning, markér feltet registreringsdato og skriv "now()" ud for Standardværdi.
2) Kræver lidt mere forberedelse: Opret en tabel og kald den for "makstal". Den skal have ét felt, det kalder du også "makstal". Feltet skal have typen "Tal" og være primærnøgle (det sidste ikke vigtigt).
Opret et modul og indsæt følgende: *** Function nytnr() As Integer Dim rs As Recordset Dim db As Database Set db = CurrentDb Set rs = db.OpenRecordset("makstal", dbOpenTable) nytnr = rs("makstal") + 1 rs.Edit rs("makstal") = nytnr rs.Update End Function *** Gem modulet - vælg selv et navn.
I din form vælger du nu kontrolelementet for aftalenr, og under egenskaber/data/standardværdi indsætter du "nytnr()".
Du kan til enhver tid gå ind i tabellen makstal og ændre din startværdi (den lægger selv én til hver gang, men hvis du f.eks. fortryder en oprettelse vil rutinen springe et nummer over.
3) Bynavn - er der allerede svaret på. Jeg foretrækker helt at undvære et bynavnfelt andre steder end i postnummertabellen - men det er smag og behag.
Tak for svarene Til jens, jeg har kopieret det du skrev over i et nyt modul, men der kommer en fejlmeddelelse- Compile error: line number or label or statement or end of statement. Hvad gør jeg så? Mvh Fie
Først skal du lige tjekke at du har kopieret det rigtige. Du skal have alt fra "Function nytnr() as Integer" til "End Function" linjen - men heller ikke mere.
Men du skal nok også lægge nogle referencer ind. Her kommer fremgangsmåden:
1: Åbn dit modul (dobbeltklik på det) 2: I Visual Basic editoren (der automatisk kommer frem) vælger du menuen "Tools" - punktet "References" 3: Der er formentlig en linje med "Microsoft ActiveX Data Objects 2.1 Library" blandt de øverste - fjern hakket i kassen til venstre ud for denne linje. 4: Find i stedet linjen: "Microsoft DAO 3.6 Object Library" - og sæt hak ved den (du skal bladre lidt ned for at finde den). 5: Luk dialogboksen og vælg "debug" - "Compile <modulnavn>". - så skulle det gerne gå glat (alt er i orden hvis ikke du får en fejlmeddelelse).
Beklager forvirringen, men sådan er Access en gang imellem...
Hej allesammen Nu lysner det (troede jeg) men det med at bynavnet skal fremkomme automatisk, når jeg trykker postnummeret ind i min formular virker ikke. Jeg gør et eller andet forkert, det er nok det med "vælg postnr_exit", jeg har kludret i. Skal det være i et modul det skal skrives??? Mine tabeller hedder "Postnumre" og "Aftaler" og felterne i formularen "Aftaler" hedder "Postnr" og "By". Er der en af jer der har mod på at forklare mig det en gang til? /fie
1: Åbn din formular i designvisning 2: Højreklik på postnummerfeltet og klik "Egenskaber" 3: Vælg fanebladet "Hændelser" 4: Klik i linjen "VedUdgang" 5: Klik på ellipsen ("..." ~ de tre små punktummer) yderst til højre. 6: Nu skulle du gerne være i Visual Basic-editoren, med en tekst nogenlunde som denne: --- Private Sub postnummer_Exit(Cancel As Integer)
End Sub --- 7: Så skal du bare sætte koden fra rickys svar ind - så skulle det virke.
Jeg ville som nævnt tidligere bruge et direkte opslag i postnummertabellen - men nu er du i gang med Dlookup-løsningen, så bliv bare ved den.
Kære fie - der er ikke kommet nogle point her. Du skal vælge "Accepter svar" - og så hvem eller hvilke brugere du vil acceptere svar fra.
Synes godt om
Ny brugerNybegynder
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.