Avatar billede emanuel Praktikant
15. maj 2008 - 22:04 Der er 9 kommentarer og
1 løsning

Print af labels, hvor tal i tabel skal angive antal

Jeg har en tabel med en række informationer, men kun 2 er relevante her
Produkt  Tekstfelt 
QTY    Numberfelt

Jeg skal skrive en label ud for hvert produkt, i det antal som er angivet i QTY.

Jeg bruger labelprinter med labels i baner, så ikke noget A4 med 24 labels på

Skal der en funktion ind der kopier antal linier i tabel ud fra QTY, eller kan man styre antal print via macro eller programmering ?

Og jeg advarer lige, jeg er ikke superuser på Access, så lidt dybere forklaring må gerne følge med.

Hilsen
Emanuel

Er det let - medium eller svær - det kommer jo an på om man kan - jeg syntes den er meget svær så 100 point
Avatar billede supertekst Ekspert
15. maj 2008 - 22:45 #1
Hvilken fil-type anvender du normalt til udskrivning på labelprinteren?

Lidt programmering i VBA kan sandsynligvis gøre noget ved det...
Avatar billede emanuel Praktikant
15. maj 2008 - 22:55 #2
Printeren tager både en access rapport, word, excel og notepad, det kræver bare at jeg har printer driveren på pc.
Avatar billede supertekst Ekspert
15. maj 2008 - 23:00 #3
Skal vi prøve med Excel - der via VBA kan hente data fra DataBasen og fremstille det anførte antal etiketter.

Hvad er etiket-formatet?
Avatar billede emanuel Praktikant
15. maj 2008 - 23:57 #4
Bredde 50mm højde 30mm
Afstand fra bund kant til top kant på næste label 18 mm
Avatar billede mugs Novice
16. maj 2008 - 05:55 #5
Denne udskriver det antal eksemplarer af en rapport. Antallet er angivet i formularens felt Antal:

Dim i As Integer
Dim Antalex As Integer
Antalex = [Antal]
For i = 1 To Antalex
DoCmd.OpenReport "Rapport2", acNormal, "", ""
Next i
Avatar billede terry Ekspert
16. maj 2008 - 11:18 #6
The way I see it you ned to loop through a recordset and for each product loop and print the required qty.

Something like this (NOT tested).


Sub MyProc

Dim db as Database
Dim rst As Recordset
Dim i as Integer

    On Error Goto Err_MyProc

        Set db = CurrentDb()
        Set rst = db.OpenRecordset("MyTable")

        'Loop through products
    Do until rst.eof

          'Print qty for the current product
          For i = 1 to rst![QTY]

        DoCmd.OpenReport "ReportNameGoesHere", acNormal, , "Produkt = '" & rst![Produkt] & "'"

          Next i           

      rst.Movenext

    Loop

        rst.Close 

    Exit_MyProc:

        Set rst = Nothing 
        Set db = Nothing
        Exit Sub

    Err_MyProc:
        'Error handler here.
        Resume Exit_MyProc
End Sub
Avatar billede emanuel Praktikant
16. maj 2008 - 15:41 #7
Det ser impornerende ud - men hvor/hvordan skal det lægges ind henne ?
Avatar billede mugs Novice
16. maj 2008 - 16:28 #8
Prøv f.eks. at lægge det ind i en kommandoknap. Du skal ændre "MyTable" til navnet på din egen tabel.
Avatar billede terry Ekspert
16. maj 2008 - 20:04 #9
if you cant get it working then your welcome to send me your dB and I'll do it for you as soon as I get a bit of time over the weekend.

ekspertenATsanthell.dk

AT = @
Avatar billede emanuel Praktikant
17. maj 2008 - 17:35 #10
Terry, thanks for your offer, I have mail it to  you
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