Avatar billede pejsen Nybegynder
02. august 2001 - 22:09 Der er 13 kommentarer og
1 løsning

Et Program til Avisbundter/Etiketter

Jeg har modtaget et regne ark som indeholder rutenr.(Kolonne A) og bundt str.(Kolonne B)

A    B
100  28
101 100
101  56
102 100
102 100
102  78
104 100
104  32

Der udregnet bundter på basis af der må Maks. være 100 stk. aviser i hvert bundt.
Dvs Eks.: Rutenr 104 skal have 132 stk.
( 1 bdt.á 100 stk + 1 bdt. á 32 stk.

Jeg vil gerne have hjælp til at finde det Totale antal aviser pr rutenr.

EKS.:

A    B
100  28
101 156
102 278
104 132

Hver anden uge er der reklamer indelagt i avisen, så
må der ikke være 100 stk. pr. bundt , da det bliver for tungt.

Til dette formål vil jeg gerne lave bundterne om til
75 eller måske 50 stk. pr. bundt.
Så skal jeg jo lave en division på basis af det totale
antal aviser pr. Rutenr.

Således det kommer til se således ud.

A  B
100  28     
101  75
101  75
101  6
102  75
102  75
102  75
102  53
104  75
104  57

kAN MAN LAVE DET TIL ET PROGRAM?????

Med Venlig hilsen

Pejsen
02. august 2001 - 22:15 #1
Du har stillet spørgsmålet i Access-kategorien. Betyder det, at du arbejder med data som sammenkædet tabeller til Excel-arket?

/Thomas
02. august 2001 - 22:21 #2
I så fald skal du lave en forespørgsel, som kunne hedde

SELECT Avisrute.A, Sum(Avisrute.B) AS B
FROM Avisrute
GROUP BY Avisrute.A;

Husk at skifte Avisrute ud med navnet på den sammenkædedet tabel.

Det var førse del...hvis jeg er på rette spor, så vil jeg gå videre med anden del...

/Thomas
Avatar billede nih Novice
02. august 2001 - 22:42 #3
Jeg tror du skal starte forfra og lave en tabel med alle ruter og sumaviser.
Ud fra denne tabel kan du så lave dine beregninger med hhv. 100, 75, 50 aviser pr bundt.

Niels
Avatar billede nih Novice
02. august 2001 - 22:42 #4
beregninger = forespørgsler.
Avatar billede terry Ekspert
03. august 2001 - 09:02 #5
hi pejsen
You need to first link the Excel table to Access.

This can be done from the File+Get External Data+Link Tables menu.
Choose Microsoft Excel from the Files of Type list. Then find the Excel file you want to use and follow the instructions. Once this is done you should have access to the Excel sheet through Access.

Now you can make a query to see the data as you wish. This is an example you could use.
This query askes you for the maximum number of \"aviser\" which should be in a \"bundt\". It also shows you the number of FULL \"bunter\" and how many are in the last \"bund\"!

What more do you need? Dont tell me, you have never used Access! If thats the case then you can send me the Excel file and let me knoiw which version of Access you are using!

SELECT tblAviser.rutenr, Sum(tblAviser.bundtstr) AS Total, ([Total]-([Total] Mod [Str]))/[Str] AS Full, [Total] Mod [Str] AS rest
FROM tblAviser
GROUP BY tblAviser.rutenr;




Avatar billede terry Ekspert
03. august 2001 - 09:07 #6
To make the labels \"Etikketer\" you create a report using the report wizard for making a label. Just follow ´the instructions, easy!
Avatar billede pejsen Nybegynder
03. august 2001 - 20:21 #7
Hej Terry

Det er rigtigt at jeg er \"Beginner\", men jeg har fået oprettet forespørgelsen.

Og den viser
Med Bundtstr. på 100 stk

Navn    Total    Full    rest
101    130    1    30
102    195    1    95
103    100    1    0
104    37    0    37
105    110    1    10
106    170    1    70

Det jeg ikke kan finde ud af er at få det ud på etiketter
Der kommer til at se forkert ud
det skal se således ud
--------
101
100 stk
--------
  101
30 stk
--------
  102
100 stk
--------
  102
95 stk
--------
  103
100 stk
--------
  104
37 stk
--------
  105
100 stk
--------
  105
10 stk
--------
  106
100 stk
--------
106
70 stk
-------
etc.
-------
etc.
-------
etc.

Hvad gør jeg forkert?

Jeg kører med en Dansk udgave af MS Access 2000

Mvh
Pejsen :-|
Avatar billede terry Ekspert
03. august 2001 - 21:51 #8
hej pejsen> Your doing great!

I dont think it as anything to do with you using Dansk Access. I think you need to choose Sheet Feed instead of continuous under LABEL TYPE. Just play around with it and you will get there, or send me the dB and I will look at it.
dkTeBrSa@europe.lego.com
Avatar billede nih Novice
03. august 2001 - 21:58 #9
Undskyld jeg blander mig.

Vil i ikke få et problem hvis der skal udskrives 2 etiketter á 100 stk til samme rute.

Jeg er spændt på om det kan løses uden VBA

Niels
Avatar billede terry Ekspert
03. august 2001 - 23:57 #10
pejsen> dont hit on before, now I understand what your getting at, didnt think that you needed a label per stack. Correct nih!

Its getting late so will take a look tomorrow!
Avatar billede terry Ekspert
04. august 2001 - 10:10 #11
pejsen> I think it sgoing to take a bit of programming, so I think it would be best if you sent me the database. It will be much quicker than me trying to explain what and where to put the code.

dktebrsa@europe.lego.com (the .com) may have been removed from the hyperlink!
Avatar billede terry Ekspert
05. august 2001 - 17:23 #12
For those interested: A form with a single field for entering max bundt størrelse. Button on form to open report(label wizard) which uses a temp table which gets its data from the following.

Private Sub cmdLabel_Click()
Dim db As Database
Dim rst As Recordset
Dim sSQL As String

On Error GoTo Err_cmdLabel_Click

    Dim stDocName As String
    Dim lCnt As Long
   
    sSQL = \"SELECT tblAviser.Navn AS Route, tblAviser.[Postnummer og by], Sum(tblAviser.Antal) AS Total, \"
    sSQL = sSQL & CLng(Me.txtAntal)
    sSQL = sSQL & \" AS MaxBundt, ([Total]-([Total] Mod [MaxBundt]))/[MaxBundt] AS [Full], [Total] Mod [MaxBundt] AS rest\"
    sSQL = sSQL & \" FROM tblAviser\"
    sSQL = sSQL & \" GROUP BY tblAviser.Navn, tblAviser.[Postnummer og by];\"

    Set db = CurrentDb
    Set rst = db.OpenRecordset(sSQL)


    DoCmd.SetWarnings False
   
    DoCmd.RunSQL \"DELETE * FROM tblToLabel\"
   
   
    Do Until rst.EOF
        \'Only if there are papers!
        If rst!full > 0 Or rst!rest > 0 Then
            lCnt = rst!full
           
            Do While lCnt > 0
               
                sSQL = \"INSERT INTO tblToLabel (Route, PostNrBy, Antal) Values (\'\"
                sSQL = sSQL & rst!Route & \"\', \'\" & rst![Postnummer og by] & \"\', \" & rst!MaxBundt & \");\"
           
                DoCmd.RunSQL sSQL
               
                lCnt = lCnt - 1
            Loop
           
            If rst!rest > 0 Then
                sSQL = \"INSERT INTO tblToLabel (Route, PostNrBy, Antal) Values (\'\"
                sSQL = sSQL & rst!Route & \"\', \'\" & rst![Postnummer og by] & \"\', \" & rst!rest & \");\"
           
                DoCmd.RunSQL sSQL
           
            End If
           
        End If

        rst.MoveNext
     
    Loop
   
    DoCmd.SetWarnings True
   
    rst.Close
    Set rst = Nothing
    Set db = Nothing
   
    stDocName = \"rptLabels\"
    DoCmd.OpenReport stDocName, acPreview

Exit_cmdLabel_Click:
    Exit Sub

Err_cmdLabel_Click:
    MsgBox Err.Description
    Resume Exit_cmdLabel_Click
   
End Sub
Avatar billede terry Ekspert
05. august 2001 - 17:24 #13
there are other ways more than likely, but it works!
Avatar billede pejsen Nybegynder
05. august 2001 - 17:34 #14
Hej Terry

Tusinde tak for hjælpen.
Det virker 100 %

Best regards
Pejsen ;-)))))))
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