21. januar 2002 - 15:57Der er
6 kommentarer og 1 løsning
Flyt markerede elementer fra listbox til tabel
Jeg vil gerne kunne plukke nogle poster fra en tabel for at udskrive labels med disse. Jeg forestiller mig at vise alle posterne i en listbox, flytte de markerede over i en tabel og herefter udskrive labels med den nye tabel som datakilde. Hvordan flytter jeg de markerede elementer fra en liste over i en tabel? Eller er der en smartere måde at løse opgaven på?
For x = 0 To List1.ListCount - 1 If List1.Selected(x) = True Then \'her indsætter du så den kode du vil have udført \'du kan fx lægge data i et array eller som her \'oprette en listbox mere, som viser poster til udskrivning
>>ea data Jeg kan kun finde ud af at udskrive labels fra en tabel eller en forespørgsel, så jeg har brug for lidt mere hjælp. Jeg har også overvejet at tilføje at felt til tabellen, som så kan sættes til true eller false afhængig af markeringen, men jeg kan ikke finde ud af ændre feltets værdi i basen for de markerede poster i listen
Kan du ikke bare kalde den rutine, som du bruger til at udskrive med, hver gang du har en post i listboxen som skal udskrives fx noget i stil med:
For x = 0 To List1.ListCount - 1 If List1.Selected(x) = True Then \'her indsætter du så den kode du vil have udført \'du kan fx lægge data i et array eller som her \'oprette en listbox mere, som viser poster til udskrivning
Jeg laver en labeludskrift vha. en wizard, hvor 1. valg er tabel eller forespørgsel. Herefter kommer labelformat og til sidst placeringen af felterne på den enkelte label. Det bliver nok for meget, hvis jeg skal klare alt det selv. Så jeg håber stadig på lidt mere hjælp :-)
Du kan overføre data fra listboxen til en tabel, som du har oprettet ved at bruge en datakontrol fx således:
Private Sub Command2_Click()
Data1.Recordset.MoveFirst For x = 0 To List2.ListCount - 1 Data1.Recordset.AddNew Data1.Recordset.Fields(0) = List2.List(x) Data1.Recordset.Update Next
End Sub ------------------------ Du skal huske at sætte DataBaseName i porperties for data1 til navn og sti på den tabel som du vil lægger oplysningerne fra listboxen ind i fx: E:\\Programmer\\Microsoft Visual Studio\\VB98\\Tabel.mdb
Jeg har efter diverse forsøg fundet den bedste løsning (tror jeg nok). Nemlig at lave en checkboks i min listbox og så bruge dette felt i en forespørgsel, så nu har jeg blot ét problem tilbage: Når jeg indlæser tabellen vil jeg gerne ha' slettet alle gamle mærker. Jeg kan godt bruge en opdateringsforespørgsel, men så får jeg diverse messagebokse smidt i hovedet. Skal jeg undgå det, skal jeg rette de generelle indstillinger i Access og det er ikke en mulig løsning. Så det jeg efterlyser er en stump kode, der kan sætte feltet Labels til false for samtlige poster i min tabel (Kunder), uden at der skal bekræftes noget som helst.
>>ea data Hvis du ikke gider lege med mere, så sig til. Så får du dine point og jeg opretter spørgsmålet på ny :-)
Jeg fandt selv ud af det. DoCmd.SetWarnings False var løsningen. >>ea data Tak for inspiration til at arbejde videre.
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.