Avatar billede eqvaliser Nybegynder
27. januar 2003 - 19:51 Der er 11 kommentarer og
1 løsning

hvorfor crasher denne funktion?

Private Sub printalle_Click()
Dim Alleprint As Integer
Do While Data1.Recordset.EOF = False
  If Data1.Recordset("varehus") = Bilka Then
    Alleprint = Data1.Recordset("varehus") & " | " & Data1.Recordset("bon - nr") & " | " & Data1.Recordset("belob") & " | " & Data1.Recordset("Antal %")
    Printer.Print Alleprint
    Data1.Recordset.MoveNext
  End If
Loop
Data1.Recordset.MoveFirst
End Sub
Avatar billede sjh Nybegynder
27. januar 2003 - 20:12 #1
måse er det Bilka:
If Data1.Recordset("varehus") = Bilka Then

prøv sådan:
If Data1.Recordset("varehus") = "Bilka" Then

eller såden:
If Data1.Recordset("varehus") = "'Bilka'" Then
Avatar billede sjh Nybegynder
27. januar 2003 - 20:15 #2
og lidt her:

Private Sub printalle_Click()
'Her -->> Dim Alleprint As Integer
Dim Alleprint As String
Do While Data1.Recordset.EOF = False
  If Data1.Recordset("varehus") = Bilka Then
    Alleprint = Data1.Recordset("varehus") & " | " & _
                Data1.Recordset("bon - nr") & " | " & _
                Data1.Recordset("belob") & " | " & _
                Data1.Recordset("Antal") & " %" '<-- Her
    Printer.Print Alleprint
    Data1.Recordset.MoveNext
  End If
Loop
Data1.Recordset.MoveFirst
End Sub
Avatar billede martin_moth Mester
27. januar 2003 - 20:16 #3
Med mindre Bilka er en variabel, er det helt sikkert derfor - Hvis du i VB kræver, at alle variabler SKAL erklæres (god programmeringsskik - slevfølgeligt skal de erklæres, andet er noget sjusk), vil du få en fornuftig fejmeddelse i denne situation, fordi VB da vil brokke sig over, at Bilka ikke er en erklæret variabel.
Og så vil du tænke - Ahhh - men det ER jo ikke en variabel, men en værdi - så mangler jeg nok situationstegn ;o)

Tools -> Options, Faneblad Editor, afkryds Require Variable declaration
Avatar billede sjh Nybegynder
27. januar 2003 - 20:18 #4
og så skulle du måske første bruge "Printer.Print Alleprint" når du har løbet din Recordset i gennem.
Avatar billede eqvaliser Nybegynder
27. januar 2003 - 22:31 #5
det jeg forsøger på med denne funktion,.

Er at printe en fuld database ud.
som er 4 rækker, og et variable (EOF) kolonner.
Og dem vil jeg have soteret i 2 kategorier først
men det kan jeg ikke få til at fungere.
A og B

Og derefter udskrive 2 side, eller hvad der er nødvendigt for at printe hele databasen.

Men troede jeg kunne snyde lidt..

Men det ser ud til jeg er nød til at sotere databasen ned på
to temp filer, og derefter printe dem..
Avatar billede eqvaliser Nybegynder
27. januar 2003 - 23:07 #6
har nu ændret funktionen Her..
stadivæk crash  (denne gang forsøgte jeg med filer istedet)
------------>

Dim Alleprint As String
Dim alleprintto As String
Open "Bilka.eqt" For Output As #1
Open "fotex.eqt" For Output As #2
Do While Data1.Recordset.EOF = False
  If Data1.Recordset("varehus") = "Bilka" Then
    Alleprint = Data1.Recordset("varehus") & _
    " | " & Data1.Recordset("bon - nr") & _
    " | " & Data1.Recordset("belob") & _
    " | " & Data1.Recordset("Antal %")
    Print #1, allprint
    Data1.Recordset.MoveNext
  End If
  If Data1.Recordset("varehus") = "føtex" Then
    alleprintto = Data1.Recordset("varehus") & _
    " | " & Data1.Recordset("bon - nr") & _
    " | " & Data1.Recordset("belob") & _
    " | " & Data1.Recordset("Antal %")
    Print 21, alleprintto
    Data1.Recordset.MoveNext
  End If
Loop
Close #1
Close #2
Printer.Print
Printer.FontName = "Times New Roman"
Printer.FontSize = 12
Printer.Print "EQCWS - (Bilka og føtex medarbejder Rabat udregning) - www.eqvakliser.com"
Printer.Print (bilka.eqt)
Printer.Print (fotex.eqt)
Printer.EndDoc
Kill (bilka.eqt)
Kill (fotex.eqt)
Data1.Recordset.MoveFirst
Avatar billede eqvaliser Nybegynder
27. januar 2003 - 23:53 #7
Glem det har fået det til at virke nu.  således -->>>

If Data1.Recordset.EOF = True Then
    Data1.Recordset.MoveFirst
  End If
Dim Alleprint As String
Dim alleprintto As String
Open "bilka.eqt" For Output As #1
Open "fotex.eqt" For Output As #2
Do While Data1.Recordset.EOF = False
  If Data1.Recordset("varehus") = "bilka" Then
    Alleprint = Data1.Recordset("varehus") & _
    " | " & Data1.Recordset("bon - nr") & _
    " | " & Data1.Recordset("belob") & _
    " | " & Data1.Recordset("Antal %")
    Print #1, Alleprint
  End If
  If Data1.Recordset("varehus") = "føtex" Then
    alleprintto = Data1.Recordset("varehus") & _
    " | " & Data1.Recordset("bon - nr") & _
    " | " & Data1.Recordset("belob") & _
    " | " & Data1.Recordset("Antal %")
    Print #2, alleprintto
  End If
  Data1.Recordset.MoveNext
Loop
Close #1
Close #2
Printer.Print
Printer.FontName = "Times New Roman"
Printer.FontSize = 12
Printer.Print "EQCWS - (Bilka og føtex medarbejder Rabat udregning) - www.eqvaliser.com"
Printer.Print ""
Printer.Print "Varehus  --|--  Bon nr  --|--  Beløb  --|--  Procent Rabat"
Printer.Print "----------------------------------------------------------"
Dim data As String
  Printer.Print
  Open sti & "bilka.eqt" For Input As #1
      Do While EOF(1) = False
          Line Input #1, data
          Printer.Print data
      Loop
    Close #1
Dim datan As String
  Printer.Print
  Open sti & "fotex.eqt" For Input As #1
      Do While EOF(1) = False
          Line Input #1, datan
          Printer.Print datan
      Loop
    Close #1
Printer.EndDoc
Data1.Recordset.MoveFirst
Avatar billede martin_moth Mester
28. januar 2003 - 09:10 #8
Skulle sjh ikke ha points for sin forklaring med bl.a. Bilka i situationstegn?
Avatar billede eqvaliser Nybegynder
28. januar 2003 - 18:13 #9
nope for der er ingen ændring på situations tegn. første layout kører nøjagtigt som første. sorry.

situationsegnende har intet med fejlen at gøre. :-(
Avatar billede martin_moth Mester
29. januar 2003 - 15:27 #10
Hmm - i den kode du viste først var der en fejl med at bilka ikke stod i situationstegn. Den fejl fandt shj, og du har jo selv rettet fejlen efterfølgende...

Mvh. Martin
Avatar billede sjh Nybegynder
30. januar 2003 - 01:04 #11
martin_moth > der er bare ikke mere hjælp fra mig når eqvaliser er på spanden ;)
Avatar billede eqvaliser Nybegynder
30. januar 2003 - 16:14 #12
her så hold dog op med at tude..
her er jeres point..  LMAO hvis de dog betyder så meget for jer.

http://www.eksperten.dk/spm/311499
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