Avatar billede yuksel Nybegynder
12. april 2005 - 09:54 Der er 26 kommentarer og
2 løsninger

form opslag fra anden form

Hej til alle.

Jeg har en liste, og når jeg markere min liste og trykker på åben
vil jeg gerne have at det markerede åbnes i et vindue .

min procedure for knappen se sådan ud :


Private Sub btn_openClick()

Dim stDocName As String
Dim stLinkCriteria As String
Dim a As String
Dim b As String

a= Nz(Me![Liste], 0)
b= Me!Liste.Column(1)

stDocName = "Biler"
    DoCmd.OpenForm "Biler", , , , , , a
    Forms(stDocName)!personID = b

End Sub


den formen biler som åbnes tilhøre en tabel som
indholder en sammensat primær nøgle.
Avatar billede yuksel Nybegynder
12. april 2005 - 09:56 #1
denne kode melder ingen fejl, og formen biler åbnes dens to felter som indholder
primærnøglerne bliver også sat til , men formen slå ikke data op, men forstår som om at det er nye der skal tilføjes, og det er ikke sagen :(
12. april 2005 - 10:24 #2
Du skal nok snarrere bruge denne (hvis jeg forstår problemet rigtigt):

DoCmd.OpenForm "Biler", , ,"PersonID = '" & Me!Liste.Column(1) & "'" , , , a

Derved angives et filter på formularen ved åbningen.

Men jeg tror, at der er lidt rod med datatyperne. Du erklærer b som string, men bruger den sammen med PersonID, som vel er nummerisk?

Hvis personID er nummerisk, skal sætningen se sådan ud:
DoCmd.OpenForm "Biler", , ,"PersonID = " & Me!Liste.Column(1), , , a
Avatar billede yuksel Nybegynder
12. april 2005 - 10:34 #3
Jeg kan ikke få det til at virke.
jeg har ændret det lidt så det er 3 ting istedet for 2 der skal med
og starter forfra med at forklar da det andet er meget utydligt.


    ordrenummer = Me!Liste295.Column(0)
    kunde_nr= Me!Liste295.Column(1)
    person_type = Me!Liste295.Column(2)
    stDocName = "Biler"

formen biler skal åbnes, og den record som har samme ordrenummer og kunde_nr som er
markeret skal vises.
og variablen person_type skal føres med over "evt som  stLinkCriteria"
da min sql på bil formen er afhængige af hvilke variabel der kommer med i person_type
Avatar billede yuksel Nybegynder
12. april 2005 - 10:36 #4
DoCmd.OpenForm "Biler", , ,"ordrenummer = " & Me!Liste295.Column(0), , , kunde_nr
men hvad med så person_type hvordan kan vi smide det på
og er det her korrekt
12. april 2005 - 10:43 #5
Hvis Ordrenummer er nummersik skulle denne være rigtig:

    ordrenummer = Me!Liste295.Column(0)
    kunde_nr= Me!Liste295.Column(1)
    person_type = Me!Liste295.Column(2)
    DoCmd.OpenForm "Biler", , ,"ordrenummer = " & Me!Liste295.Column(0), , , kunde_nr


Hvis du skal have Peron_Type med, så er der (mindst) 2 muligheder:

1) Erklær Person_Type som public i et modul
2) hvis din første formular forbliver åben (evt skjult) kan du jo altid refererer til Liste295 og derved Person_Type således:
Forms![Din formular]!Liste295.column(2)
Avatar billede yuksel Nybegynder
12. april 2005 - 11:00 #6
det er det problem
at jeg i biller har ved aktuel
Select Case Me.OpenArgs    ' det er her den spørge efter person_typen
    Case "Innovativ"  ' dette er værdien i variablen person_type
......................................
.................
Avatar billede yuksel Nybegynder
12. april 2005 - 11:01 #7
det er det problem
at jeg i biller har ved aktuel har denne kode som bruger person_type

Select Case Me.OpenArgs    ' det er her den spørge efter person_typen
    Case "Innovativ"  ' dette er værdien i variablen person_type
......................................
.................
12. april 2005 - 11:04 #8
men det passer jo ikke med, at det er Kunde_Nr, som du overfører i denne sætning:
DoCmd.OpenForm "Biler", , ,"ordrenummer = " & Me!Liste295.Column(0), , , kunde_nr

For at spørge på Person_Type skal du skrive således:

Select Case Forms![Din forrige formular]!Liste295.column(2) ' det er her den spørge efter person_typen
    Case "Innovativ"
Avatar billede yuksel Nybegynder
12. april 2005 - 11:09 #9
det er flere vinduer en denne der referre til biler derfor bruger jeg me!openargs da dette henter variabler fra tidliger form
Avatar billede yuksel Nybegynder
12. april 2005 - 11:10 #10
DoCmd.OpenForm "biler", , , stLinkCriteria, , , Person_type
Forms!biler![Ordrenummer] = ordrenummer
Avatar billede yuksel Nybegynder
12. april 2005 - 11:11 #11
denne kode virker ikke rigtigt men jeg får overført person_type variablen over til den anden form
det er bare ordrenummeret der ikke bliver slået
12. april 2005 - 11:14 #12
hvad står der i stLinkCriteria?

Et ordrenummer er vel unikt? Så hvis du bruger denne:
DoCmd.OpenForm "Biler", , ,"ordrenummer = " & Me!Liste295.Column(0), , , Person_Type

Så burde du kunne fange det samme kunde_nr på Biler-formularen?

Eller kan det samme kunde_nr godt optræde på forskellige kunder?
Avatar billede yuksel Nybegynder
12. april 2005 - 11:17 #13
ordrenummer er ikke unik og det er kunde_nr hellere ikke men sammen er de unikke .
den samme kunde_nr optræde i flere forskellige ordrenummer og det gøre de næsten altid
12. april 2005 - 11:20 #14
ok, så er du jo nødt til at få dette med i dit linkcriteria:

DoCmd.OpenForm "Biler", , ,"ordrenummer = " & Me!Liste295.Column(0) & " And Kunde_Nr = " & Me!Liste295.Column(1), , , Person_Type

Eller hvis du hellere vil bruge variablerne:

DoCmd.OpenForm "Biler", , ,"ordrenummer = " & Ordrenumer & " And Kunde_Nr = " & Kunde_Nr, , , Person_Type
Avatar billede yuksel Nybegynder
12. april 2005 - 11:38 #15
Det er kanonnnnn  supperrr :) tussind tak for hjælpen det fungere nu
Avatar billede yuksel Nybegynder
12. april 2005 - 12:12 #16
nu når vi er her, må jeg stille dig et andet spørgsmål,
(jeg skal nok smide mere poin :) )
12. april 2005 - 12:15 #17
jo da :o)

jeg skrev et indlæg før, men så var siden pludselig nede :o(

Jeg skrev bare, at det var godt at det lykkedes. Problemet med denne kommunikationsmodel, er at det tit er svært at forklare og gennemskue problemer. Havde vi siddet face-to-face, så havde vi løst det på 32 sekunder - men sådan er det :o)
Avatar billede yuksel Nybegynder
12. april 2005 - 12:25 #18
: )

ok, jeg har en knap på hovedformen og den hedder "ny"
"ny" = sender mig videre til "valg" formen
"valg" = her kan man vælge hvad man vil oprette  '  det er her problemet er
"biler" = og man ryger derefter til biler

i "valg" trykker jeg på en knap som giver mig en variabel og enhver knap har sin egen variabel som jeg bare skriver.
når jeg har trykket på knappen så skal den åbne formen "biler" og sætte det i den rigtige sted med de rigtige ordre og kunde_nr så det bliver rigtigt tilføjet.
vi har ordrenummeren fra hovedformen =
Forms![hovedform]![Ordrenummer] men vi skal have fat i den sidste kunde_nr og stille os der
Avatar billede yuksel Nybegynder
12. april 2005 - 12:28 #19
vi er ikke bekendt med sidste kunde nr, men er bekendt med ordrenummer og den variabel der skal med for case´en
Avatar billede yuksel Nybegynder
12. april 2005 - 12:33 #20
er du der ? : )
12. april 2005 - 12:33 #21
Jeg er ikke helt med. Men du kan aflæse det største kundenr ved at bruge DMax:

StørsteKundenr = Dmax("Kunde_Nr", "Din tabel", "Ordrenummer = " & Me!Ordrenummer)

Kan du bruge det?
Avatar billede yuksel Nybegynder
12. april 2005 - 12:38 #22
jeg prøver det lige
Avatar billede yuksel Nybegynder
12. april 2005 - 12:41 #23
ok, jeg har lavet en msgbox StørsteKundenr og den giver den rigtige nr ud på msgboxed
men når den så åbne formen "biler" så står ordrenr og kunde_nr feltet tom !
Avatar billede yuksel Nybegynder
12. april 2005 - 12:42 #24
problemmet er at jeg åbner den med denne sætning og det går jo ikke

DoCmd.OpenForm "Biler", , ,"ordrenummer = " & Ordrenumer & " And Kunde_Nr = " & Kunde_Nr, , , Person_Type
Avatar billede yuksel Nybegynder
12. april 2005 - 12:46 #25
jeg har fået det til virke
Avatar billede yuksel Nybegynder
12. april 2005 - 12:46 #26
bare med noget andet
Avatar billede yuksel Nybegynder
12. april 2005 - 12:46 #27
tussind tak for hjælpen :) :) :=)
12. april 2005 - 12:50 #28
anytime :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