Avatar billede eqvaliser Nybegynder
19. februar 2003 - 16:03 Der er 5 kommentarer og
1 løsning

Printer problemer, med design af udskrift.

arbejder bla. med database i programmet, hvorden henter,
al den data som skal printes.

Nu ville jeg så gå i gang med selve printer elementet.
hvor den som standard laver en overskrift.
Og tekst over hver tabel.

Men den skifter linie selvom jeg sætte koordinater på.
her er hvad jeg har. 

og som i kan se, udfra koordinaterne, skulle de fire kollonner værer ved siden af hinanden ikke under hinanden.

For Next commandoen i bunden, (som ikke virker)
Bliver der hvorjeg henter data fra databasen.
Men det er ikke noget problem.

Problemet er selve udskriften.


*********************************************

Private Sub Command1_Click()
Data1.Recordset.movelast      'Flytter til sidste R
NYID = Data1.Recordset("ID")  'Finder sidst AutoID
Data1.Recordset.movefirst      'Flytter tilbage til første

Printer.FontName = "Times New Roman" 'sætter skriftsnit
Printer.FontSize = 10                'sætter skriftstørrelse

Printer.Print " "                'vækker printer af dvale
Printer.PaintPicture LOGO, 100, 10 'indsætter logo
Printer.Print "---"; 10, 20

Printer.Print " - Bon nr - ", 10, 40
Printer.Print " - Varehus - ", 22, 40
Printer.Print " - Pris - ", 35, 40
Printer.Print " - Antal % ", 45, 40

Printer.Print " "

For NYID = NYID To NYID + 1


Next

Printer.EndDoc
End Sub
Avatar billede martin_moth Mester
19. februar 2003 - 16:36 #1
He he, har du set hvad den udskriver?

På papiret kommer der til at stå

--- 10 20
- Bon nr -  10 40
- Varehus - 22 40
- Pris -  35 40
- Antal %  45 40

Altså bliver dint koordinater ikke opfattet som koordinater. Det er fordi du angiver den forkert, skriv i stedet for


  Printer.CurrentX = 10
  Printer.CurrentY = 40
  Printer.Print " - Bon nr - "
  Printer.CurrentX = 22
  Printer.CurrentY = 40
  Printer.Print " - Varehus - "
  Printer.CurrentX = 35
  Printer.CurrentY = 40
  Printer.Print " - Pris - "
  Printer.CurrentX = 45
  Printer.CurrentY = 40
  Printer.Print " - Antal % - "

Angiv evt. hvilken type koordinater du vil bruge - default er vist twips, jeg kan bedst lide millimeter :o) Du kan angive, at du vil bruge millimeter ved

Printer.ScaleMode = 6 'millimeter

:o)

Du skriver en masse andet i dit spørgsmål, som jeg ikke forstår hvad du mener med, men ovenstående løser dit problem med at skrive på samme linie...
Avatar billede martin_moth Mester
19. februar 2003 - 16:38 #2
PS: Der er naturligvis ingen grund til at specificere Printer.CurrentY = 40
mere end een gang, sålænge du udskriver på samme linie ;o)
Avatar billede eqvaliser Nybegynder
19. februar 2003 - 16:44 #3
hehe..  jeps den udskrev nemlig også 10,40 osv..  det undrede mig utrolig meget.  *gg*

prøver lige.
Avatar billede eqvaliser Nybegynder
19. februar 2003 - 17:13 #4
DAMN...

nu har jeg forsøgt at ændre den et par gange.
og mener da helt bestemt at X det må være horizontalt (vandret)
og Y = vertikalt (lodret)
Men enten skriver den ud oveen i den forgående linie eller under,
som her i sidste forsøg.

***********************************************
Printer.FontName = "Times New Roman" 'sætter skriftsnit
Printer.FontSize = 12                'sætter skriftstørrelse

Printer.Print " "                'vækker printer af dvale
Printer.PaintPicture LOGO, 100, 10 'indsætter logo
Printer.Print "---"

Printer.CurrentX = 10  'sætter sidelængde
Printer.CurrentY = 140  'sætter højde

Printer.Print " - Bon nr - "

Printer.CurrentX = 100
Printer.Print " - Varehus - "

Printer.CurrentX = 200
Printer.Print " - Pris - "

Printer.CurrentX = 300
Printer.Print " - Antal % "

Printer.Print " "

Printer.EndDoc
Avatar billede eqvaliser Nybegynder
19. februar 2003 - 18:00 #5
bruger nu centimeter.

problemet ligger nu i at hver gang jeg bruger printer.print "tekst"
så rykker den en linie ned.

så bliver nok nød til at benytte currentY på hver item alligevel.

prøver lige.
Avatar billede eqvaliser Nybegynder
19. februar 2003 - 18:06 #6
SÅDAN!!!!..
nu virker det-..

således ser det ud nu..  ;-) tak for hjælpen..

********************************************************
Printer.FontName = "Times New Roman" 'sætter skriftsnit
Printer.FontSize = 12                'sætter skriftstørrelse
Printer.ScaleMode = vbCentimeters

Printer.Print " "                'vækker printer af dvale
Printer.PaintPicture LOGO, 1, 1 'indsætter logo
Printer.Print "---"

        Printer.CurrentX = 2  'sætter sidelængde
        Printer.CurrentY = 2  'sætter højde

        Printer.Print " - Bon nr - "

        Printer.CurrentX = 7
        Printer.CurrentY = 2
        Printer.Print " - Varehus - "

        Printer.CurrentX = 13
        Printer.CurrentY = 2
        Printer.Print " - Pris - "

        Printer.CurrentX = 17
        Printer.CurrentY = 2
        Printer.Print " - Antal % "

        Printer.Print " "
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
Kurser inden for grundlæggende programmering

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