Jeg har et felt (Kunde) og en ListeBox (KundeListe). I kundeListe kan jeg have nogle poster, som macher, den kunde som står i kunde felt. Hvordan kan jeg få værdien i Kunde felt og værdien i Kundeliste (Første index ´på det valgte post) til at bytte rundt?
Jeg har prøvet med dette (Men virker ikke, jeg får en fejl):
Dim nyKunde As String Dim gamleKunde As String Dim svar As String
okay, hvad skriver jeg så hvis jeg gerne vil smide noget ind i en liste? Hvordan koder man posterne med VBA? Den Listbox som jeg har lavet, har jeg lavet på formen, men hvis der er nogen som kan vise mig hvordan man skriver koden for at genere en listbox med poster i det, så kan jeg arbejder viedere med det.
Jeg skal kun have ændret data, bår jeg klikker på en knap der hedder "Flytkunde" Hvad skriver jeg så i Flytkunde_click() funktionen?
Men jeg skal ikke opdatere nogen tabel, de kunder som skal byttes ligger begge i samme tabel i forvejen. Tror bare at jeg skal lave en ny opdatering, når jeg klikker på Knappen, hvor jeg så insætter de nye poster som jeg finder via SQL-sætning
Men Hvad skriver jeg, for at indsættep posterne???
Okay, måske udtrykte jeg mig ikke helt rigtigt. jeg skal ikke indsætte nogen poster, men derimod skal jeg hente (SELECT) de nye poster til ListBoxen. Den enste for skel på den gamle liste og den nye liste, er at der nu er en ny post som er kommet ind, isteden for den post som jeg valgte at erstate den med.
Forrestil dig at jeg har et felt(Textbox) med et kundenr, og i listboxen har jeg 4 kunder. En af disse 4 kunder markere jeg og klikker på Knappen "Bytkunde". Det der så skulle ske er at kunden fra Textboxen kommer over til ListBoxen, og posten i listbox som jeg valgte kommer over i TextBox .
okay, jeg får ikke nogen problemmer med at smide smide fra Listboxen over til TextBoxen, der bare ved at skrive:
Me.kunde = Me.KundeListe.Column(0)
Men problemet er når jeg skal smide kunden fra TextBox over i ListBoxen. Jeg har dog kundenr fra textboxen som jeg kan bruge, men hvordan får jeg opdateret Listboxen, så då kunden fra Textboxen kommer over i Listboxen (Sammen med de andre 3 poster som ligger der)??
Det med at smide det fra Listboxen over til Textboxen har jeg fået til at virke. Nu skal jeg bare kunne opdatere ListBoxen med den nye kunde fra TextBoxen (Og de andre som også lå der, minus den som blev smidt over i TextBoxen)
Hvad skriver jeg for at opdatere ListBoxen med den nye forespørgsel?
Me.Kundeliste.requery, er ikke nok, jeg skal bruge min sql-sætning hvor jeg finder de kunder som skal smide ind i Listboxen:
strSQL ="SELECT kundenr, navn, tlfnr FROM tblKunde WHERE Kundenr = '"& Me.KundeListe.column(0,I)&"' OR navn = '"& Me.KundeListe.column(1,I)&"' OR tlfnr = '"& Me.KundeListe.column(2,I)&"' OR Kundenr = '"& nyKunde&"' "
Denne SQL-sætning skal jeg vel bruge et eller andet sted, Hvordan får jeg smidt dette ind i ListBOx??
Du kan også i listboxens rowsouce (rækkekilde) åbne en SQLbuilder, ligesom en forespørgsel. Her kan du, som normalt, angive i designgitteret at eksempelvis feltet 'kundeId' =[Forms]![Formular1]![textBox]. I en event skal du så opdatere listen: listbox.requery
Okay, jeg har fået det til at virke, ved at bruge samme sql-sætning som i ListBoxens sql-sætning, men hvor jeg så ikke vil have at den skal vise den som jeg har valgt:
Jeg bruger DoCmd.GoToRecord , , acNext som går til næste post, og disse felterne for posten bliver vist i nogle TextBoxe, hvordan får jeg disse TextBoxe til at gå til en bestemt post?
Eks: hvis jeg gerne vil går frem til posten Me.Kundenr. hvad skriver jeg så?
Jeg har 5 TextBox felter, til disse bruger jeg kontrolelementkilde, så når jeg bruger DoCmd.GoToRecord , , acNext, bliver de opdateret med den nye post.
strSQL = "SELECT [SL02].[SL01001] as Kundenr, [SL02].[SL01002] as Kundenavn, [SL02].[SL01003] as Adresse, [SL02].[SL01004], [SL02].[SL01005] as Postnr, [SL02].[SL01011] as Telefon, [SL02].[SL01013], [SL02].[SL01050] as Fakturadato, [SL02].[SL01051] as Betalinsdato FROM [SL02] WHERE left([SL02].[SL01002], 2) = Left('" & Kundenavn & "', 2) AND left([SL02].[SL01003], 3) = Left('" & Adr1 & "', 3) AND left([SL02].[SL01005], 4) = Left('" & Adr3 & "', 4) AND [SL02].[SL01001]<> '" & nyKunde & "' AND [SL02].[SL01001] NOT IN (SELECT [KunderTilFlet].[Gamelkunder] FROM [KunderTilFlet])" Me.KundeListe.RowSource = strSQL Me.KundeListe.Requery
DoCmd.GoToRecord , , acGoTo, Me.kunde
End Sub
Men problemmet er at jeg ikke kan gå til den post hvis kundenr er Me.Kunde. I de 5 TextBox felter, står stadig den gamle kunde
Jilmas>that only tells me what your trying to do in THIS event, it doesnt tell me WHY! I cant see the reason for having to do this so I cant make suggestions to MAYBE look at the problem from another point of view.
I CAN NOT see why it is necessary to take information from your combo and move them over to other fields on your form.
If you want to go to a specific record WHEN you select a record form the list then you can use the listbox wizard to help you, it, makes the code needed to do this!
Jeg skal lige lave nogen ting først, kan jeg ikke sende det til dig imorgen? For jeg mangler lige nogle ting til det virker, så kan du kigge på problemmet som jeg har beskrevet for oven.
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.