Avatar billede wekil Nybegynder
28. juli 2004 - 09:11 Der er 27 kommentarer og
1 løsning

kombinationsbox skal udfylde flere felter i underformular

Jeg har en kombinationsbox i en underformular,
kombinationsbox viser i en række 4 relaterede felter fra samme post.
Kombinationsboxen får sine værdier fra en forespørgsel.

Mit ønske er, at de 4 relaterede felter, ved valg fra kombinationsboxen, alle bliver fyldt i underformularens tomme felter

Mit problem er, at jeg ved valg fra kombinationsboxen kun kan få et felt udfyldt i underformularen.
Avatar billede jensen363 Forsker
28. juli 2004 - 09:15 #1
Er vist noget i retning af :

Felt1.value = Komnibanationsboks.Column(0)
Felt2.value = Komnibanationsboks.Column(1)
Felt3.value = Komnibanationsboks.Column(2)
Felt4.value = Komnibanationsboks.Column(3)
Avatar billede jensen363 Forsker
28. juli 2004 - 09:17 #2
Stavekursus : Kombinationsboks .. naturligvis
Avatar billede wekil Nybegynder
28. juli 2004 - 10:26 #3
Jeg skal have mere hjælp. :)

det felt der bliver opdateret fra kombinationsboxen hedder SN
et af de 3 felter der ikke bliver opdateret hedder Smodel
er det så noget i retning af

SN.value = kombinationsbox12.Column(0)
Smodel.value = kombinationsbox12.Column(1)

og det værste :( hvor skal jeg skrive koden
Avatar billede jensen363 Forsker
28. juli 2004 - 10:29 #4
Du har forstået logikken c",)

Du skal skrive det i Kombinationsboksens hændelsesprocedure AfterUpdate
Avatar billede hubs Nybegynder
28. juli 2004 - 10:52 #5
Hvis du vil gøre det let for dig selv, så prøv at lave en ny Combobox og når "Wizard'en" popper op vælger du bare den nederste mulighed "Find a record on my form based on the value I selected in my combo box" så længe dine 3 felter er linket op til den pågældende tabel så stifter de automatisk alt efter hvad du vælger i din combo box

Håber det kan bruges c",)
Avatar billede wekil Nybegynder
28. juli 2004 - 10:52 #6
Ok, så ser det sådan ud

Private Sub Kombinationsboks12_AfterUpdate()

SN.Value = kombinationsbox.Column(0)
Smodel.Value = kombinationsbox12.Column(1)

End Sub

men så får jeg en run time error 424, Objekt required på linie

SN.Value = kombinationsbox.Column(0)

har du et godt bud på afhjælpning af det
Avatar billede jensen363 Forsker
28. juli 2004 - 10:54 #7
Det er nok fordi din Kombinationsboks ikke arbejder med 0 som 1. kolonne, så er værdien 1 i stedet ...
Avatar billede jensen363 Forsker
28. juli 2004 - 10:57 #8
Ups ... så lige en fejl i din kode

SN.Value = kombinationsbox.Column(0) skal hedde
SN.Value = kombinationsbox12.Column(0)
Avatar billede jensen363 Forsker
28. juli 2004 - 11:00 #9
Så den korrekte burde være :

Private Sub Kombinationsboks12_AfterUpdate()

    SN.Value = Kombinationsboks12.Column(0)
    SModel.Value = Kombinationsboks12.Column(1)

End Sub
Avatar billede wekil Nybegynder
28. juli 2004 - 11:22 #10
Ok, der sker noget, men jeg får stadigvæk fejl
nu i linie to
Smodel.Value = kombinationsbox12.Column(1)

Jeg har
SN.Value = kombinationsbox12.Column(1)
hvor SN.value = "27247B" som er serienummeret og den rigtige værdi,
kombinationsbox12.Column(1) indeholder værdien Null
og
Smodel.Value = Null
giver det nogen mening for dig
Avatar billede jensen363 Forsker
28. juli 2004 - 11:26 #11
... og du har prøvet med .Column(0) ???

Hvordan ser din SQL-sætning ud for kombinationsboksen
Avatar billede hubs Nybegynder
28. juli 2004 - 11:41 #12
Prøv med følgende kode i din AfterUpdate for Combo boxen, bare husk at substituere ComboBoxNavn med navnet på din combo box c",)

Private Sub ComboBoxNavn_AfterUpdate()
    Dim rs As Object

    Set rs = Me.Recordset.Clone
    rs.FindFirst "[SN] = " & str(Nz(Me![ComboBoxNavn]))
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub
Avatar billede wekil Nybegynder
28. juli 2004 - 11:53 #13
Her kommer den SQL der er på kombinationsboksen

SELECT [KIWUdstyrIngNULLOversigt Forespørgsel].Type, [KIWUdstyrIngNULLOversigt Forespørgsel].Model, [KIWUdstyrIngNULLOversigt Forespørgsel].Betegnelse, [KIWUdstyrIngNULLOversigt Forespørgsel].[S/N]
FROM [KIWUdstyrIngNULLOversigt Forespørgsel];
Det er den der gør at brugeren kan se både model og serinummer inden valg af post
kombinationsboksen viser 4 felter fra hver post
Avatar billede jensen363 Forsker
28. juli 2004 - 12:07 #14
Har du mulighed for at sende Databasen ( zippet ) til OSE@POST.DK
Avatar billede wekil Nybegynder
28. juli 2004 - 12:57 #15
Nej, jeg må ikke sende databasen ud af huset!
Avatar billede wekil Nybegynder
28. juli 2004 - 13:01 #16
Jeg har prøvet med følgende

Private Sub Kombinationsboks12_AfterUpdate()
Dim rs As Object

    Set rs = Me.Recordset.Clone
    rs.FindFirst "[SN] = " & Str(Nz(Me![Kombinationsboks12]))
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark

SN.Value = Kombinationsboks12.Column(1)
Smodel.Value = kombinationsbox12.Column(2)

End Sub

men får en runtime error 13,på linie her under

rs.FindFirst "[SN] = " & Str(Nz(Me![Kombinationsboks12]))

Me![Kombinationsboks12] indeholder den rigtige værdi for SN
Avatar billede jensen363 Forsker
28. juli 2004 - 13:07 #17
Prøv lige nedenstående, og fortæl resultatet til os

Private Sub Kombinationsboks12_AfterUpdate()

  MsgBox Kombinationsboks12.Column(0)
  MsgBox Kombinationsboks12.Column(1)
  MsgBox Kombinationsboks12.Column(2)
  MsgBox Kombinationsboks12.Column(3)





End Sub
Avatar billede wekil Nybegynder
28. juli 2004 - 13:21 #18
Jeg får først en box hvor der står Tastatur ved klik på ok kommer der en ny box
med C1405B som er det rigtige modelnr o.sv. alle værdier er rigtige for den valgte post,
ingen fejlmeddelelser, :)
Avatar billede jensen363 Forsker
28. juli 2004 - 13:21 #19
OBS ! Vær lige opmærksom på forskellen imellen boks og box i din kodelinie
Avatar billede jensen363 Forsker
28. juli 2004 - 13:23 #20
Ok, så er kolonnenummereringen ( 0 - 3 ) korrekt

Så skal dette også virke ( check lige hvordan du har navngivet kombinationsboksen )

Private Sub Kombinationsboks12_AfterUpdate()
   
  SN.Value = Kombinationsboks12.Column(0)
  SModel.Value = Kombinationsboks12.Column(1)
  Felt3.Value = Kombinationsboks12.Column(2)
  Felt4.Value = Kombinationsboks12.Column(3)

End Sub
Avatar billede wekil Nybegynder
28. juli 2004 - 14:06 #21
Hej :(
det virker ikke,
eller det virker som da jeg startede, den fylder kun data i et af felterne i underformularen
dog kan jeg nu med Kombinationsboks12.Column() selv bestemme hvilken værdi der skal indsættes i dette felt.
Jeg vil prøver at lave en ny underformular, måske kommer fejlen derfra, så melder jeg tilbage.
Avatar billede jensen363 Forsker
28. juli 2004 - 14:49 #22
Det slår mig lige ... dine feltes som skal opdateres, ligger de i selve formularen hvor Kombinationsboksen er, eller ligger de i en underformular ?

Er det sidste tilfældet, er koden sådan her :

Private Sub Kombinationsboks12_AfterUpdate()

    Me![UnderFormular]![SN].Value = Kombinationsboks12.Column(0)
    Me![UnderFormular]![SModel].Value = Kombinationsboks12.Column(1)
    Me![UnderFormular]![Felt3].Value = Kombinationsboks12.Column(2)
    Me![UnderFormular]![Felt4].Value = Kombinationsboks12.Column(3)

End Sub
Avatar billede wekil Nybegynder
28. juli 2004 - 15:41 #23
underformularen bygger på den tabel hvor data skal gemmes,
kombinationsboksen slår data op i en forespørgsel fra en anden tabel og er en bundet
kombinationsboksen der blev ved oprettelsen lavet så den gemte værdien i et felt (SN) i underformularen, så svaret må blive at de felter der skal opdateres ligger i samme formular som kombinationsboksen.
Det er forøvrigt kun det felt (SN) jeg kam gemme data i, så jeg tror det er der fejlen er.
Jeg har for en sikkerhed skyld prøvet med
Me![UnderFormular]![SN].Value = Kombinationsboks12.Column(0) der Giver fejl
og
Me![SN].Value = Kombinationsboks12.Column(0) ingen ændring (koden avikles men der sker igen opdatering)
Avatar billede jensen363 Forsker
28. juli 2004 - 15:57 #24
Kan du ikke lave en ny database, hvor du medtager de nødvendige tabeller ( uden data ), de nødvendige forespørgsler og så den pågældende formular, og maile den zipped til mig, så skal jeg se hvad jeg kan gøre for at hjælpe
Avatar billede wekil Nybegynder
28. juli 2004 - 16:02 #25
:))) hurra, det lykkedes, den nye underformular, med en ubunden kombinationsboks
hvor jeg brugte din kode

Private Sub Kombinationsboks12_AfterUpdate()
   
  SN.Value = Kombinationsboks12.Column(0)
  SModel.Value = Kombinationsboks12.Column(1)
  Felt3.Value = Kombinationsboks12.Column(2)
  Felt4.Value = Kombinationsboks12.Column(3)

End Sub

gik rent igennem, mang mange tak for din indsats,
Avatar billede wekil Nybegynder
28. juli 2004 - 16:03 #26
du får point
Avatar billede jensen363 Forsker
28. juli 2004 - 16:07 #27
Tak ... en hård nød, men det lykkedes ... sku´ det være en anden gang c",)
Avatar billede nils-berthelsen Nybegynder
07. december 2006 - 15:46 #28
Jeg har lige prøvet dette gode tip, og det virkede.
Man skal bare lige holde øje med, i hvilken rækkefølge man udvælger sin Rækkekilde, da rækkefølgen er enslydende med column (x) efterfølgende.
Samtidig skal man i comboboxen huske at angive antallet af kolonner man har i sin udvælgelse = dem man vil bruge til at overføre data til den tilhørende tabel.
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