19. juni 2006 - 23:50Der er
21 kommentarer og 2 løsninger
kopier værdi til kombiboks
Jeg har et registeringsnr der indtastes i en formular (lejekontrakt) derefter har jeg to følgende kombibokse der slår værdien op i en konto database, hvor den ene er bruger og den anden er betaler. disse er i denne formular ikke direkte tilkyttet registreringsnummeret.
Til selve registreringsnummeret og dens database er der tilgengæld et bruger konto nr og et betaler konto nr tilkyttet.
Kan man automatisk få kopieret de værdier ind i min formular når man har indtastet registeringsnummeret, hvor man så selv bagefter kan ændre dem hvis nu betaler pludselig i et tilfælde er en anden.
formularen starter følgende:
indtast regnr indtast bruger kontonr indstast betaler kontonr
det er så i de sidste to den skal kopiere værdierne fra registreringsdatabasen, og det er vigtigt at den kun kopiere og ikke bare hvor den automatisk henter værdierne, da den ikke må hænge sammen med registreringsdatabasen.
Nøj det er lidt snørklet forklaret, men ved ikke ellers hvordan det skal forklares.
pointen er altså kopiere værdien fra et felt i registringsdatabasen til et felt i formularen som egentlig ikke hænger sammen, ligeså snart regnummeret bliver indtastet.
- kontonr er det felt i formularen hvori du indtaster - tabelnavn er navnet på den tabel der indeholder data du vil hente (registreringsdatasen) - feltnavn er navnet på det felt du vil hente
Ovennævnte syntaks er for et alfanumerisk felt. Er feltet numerisk skal du bruge denne:
Private Sub regnr_AfterUpdate() DLookup("[kundenr]", "dbo_VEHICLE", "[USER_CODE]=" & Me.kundenr & "") End Sub
hvor kundenr er feltet i formularen hvor der skal kopieres en værdi til. dbo_VEHICLE er min registrerings tabel USER_CODE er feltet i tabelen med bruger konto
men virker kun delvis pga den tager id nummeret fra tabelen dbo_VEHICLE istedet for USER_CODE og kopiere ned i "kundenr", ret underligt, da der jo ikke er noget der antyder at det er id'et den skal tage.
kan desværre ikke sende den da den bruger sammenkædede tabeller fra vores hovedsystem.
dbo_VEHICLE er en sammenkædet tabel, som jeg kun har læse rettigheder til, den består blandt andet af:
BASIS_NUMBER som er primær nøgle REGISTRER_NUMBER som er regnr USER_CODE som er bruger kontonr OWNER_CODE som er betaler kontonr
Min formular er baseret på en forespørgsel hvor der indgår felter fra dbo_VEHICLE bla ovenstående.
De to felter som jeg vil kopiere værdier til, er kombibokse som slår værdien op i en dbo_COSTUMER tabel, for at sikre det eksisterer og hente flere informationer.
Jeg har prøvet at lave forespørgsler af dbo_VEHICLE uden basisnummer og så lave lookup i den i stedet frem for tabelen, men det ændrer ikke på det, den hiver stadig basisnummeret med over.
Fejlen er at den henter basisnummeret fra dbo_VEHICLE tabelen, dog fra den korrekte post men den skal hente fra konto nummeret feltet i stedet (USER_CODE).
Den henter data fra feltet [regnr], hvis det er [USER_CODE]skal regnr erstattes med dette. Og så må du have et kriterie der definerer den bestemte post.
Tænkte lidt over hvad du havde skrevet, og kom pludselig i tanke om en omvej.
jeg kunne jo bare tilføje to ekstra skjulte tekstfelter som hiver bruger og betaler info fra dbo_VEHICLE og så kopiere deres data over i kundenr mv.
dog fandt jeg lige et andet lille problem.
Når man kopier værdien over så registrerer den ikke der er kommet en ændring i feltet hvilket så gør at jeg ikke får noget ud af at have en kode på Afterupdate som Requery'er min formular og underformular.
har du en let løsning til dette eller har jeg misforstået det?
Flyttede min requery kode fra afterupdate til exit, men så fandt jeg ud af at det kun virkede med requery når man har havde tabuleret tilbage og frem igen, så måtte lige lægge lidt gentagelse på, men nu ser det ud til at virke.
Her er min requery kode (var det egentlig ikke også dig der hjalp med den?)
Private Sub Kombinationsboks162_Exit(Cancel As Integer) Me!test_kontrakt_bruger_pris.Requery Dim VARa As Long DoCmd.GoToControl "regnrlejebil" VARa = Me.Id DoCmd.FindRecord VARa, acEntire, False, , True, acCurrent, True DoCmd.GoToControl "Kombinationsboks162" Me!test_kontrakt_bruger_pris.Requery DoCmd.GoToControl "regnrlejebil" End Sub
Godt du fik det til at fungere. Jo - Jeg husker godt det spørgsmål ;o)
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.