Thema Datum  Von Nutzer Rating
Antwort
Rot Laufzeitfehler 3021 BOF oder EOF True
13.02.2019 15:19:03 Niels
NotSolved
14.02.2019 10:56:50 Gast81760
*****
Solved
14.02.2019 14:37:37 Niels
NotSolved

Ansicht des Beitrags:
Von:
Niels
Datum:
13.02.2019 15:19:03
Views:
734
Rating: Antwort:
  Ja
Thema:
Laufzeitfehler 3021 BOF oder EOF True

Hallo zusammen,

ich habe mir eine ODB Abfrage gebaut die mir jetzt auf einen Fehler läuft siehe oben. Ich hoffe das mir jemand einen hinweis geben kann.

Zum Problem.

Ich will einen Datensatz der mehere gleiche Datums einträge enthält entsprechend von Links nach rechts in Excel einlesen.
Das klappt soweit auch gut, jedoch kommt am ende immer der Laufzeitfehler. Mir ist klar das dieser kommt weil das Feld nicht mehr gefüllt ist.
Aber ich weiß gerade nicht dies zu lösen.

Hier der Code:

Private Sub Worksheet_Activate()
 
Set condb = New ADODB.Connection
condb.Open "Provider=MSDASQL.1;DATA SOURCE=ALMADAT;Uid=hinluk;Pwd=geheim;"

Dim indexedm As String
Dim rec As ADODB.Recordset
Dim jahr As Date

KW_input = ActiveSheet.Name

jahr_input = Year(Date)
Dim vDate As Date
vDate = Datum_KW(KW_input, jahr_input)

Dim datum_von As String
datum_von = vDate
Dim datum_bis As String
datum_bis = DateAdd("d", 4, vDate)


Set rec = New ADODB.Recordset


rec.CursorLocation = adUseClient


rec.Open "SELECT ABSKPF.LITMAKISO, ABSKPF.BLNRAK, ABSKPF.COMMAK, ABSKPF.POLZAK, ABSKPF.AUNRAK, ABSKPF.AARTAK, ABSKPF.MX01AK, " _
                       & "ABSKPF.MX02AK, ABSKPF.MX07AK, ABSKPF.KUCHAK, ABSKPF.KORPAK, ABSKPF.NEWWAK, ABSKPF.KUN1AK, ABSKPF.TOURAK, ABSKPF.KUN2AK " _
                       & "FROM S2171AEV.ALMADAT.ABSKPF ABSKPF " _
                       & "WHERE ABSKPF.CLASAK='1' AND ABSKPF.LITMAKISO>={d '" & datum_von & "'} AND ABSKPF.LITMAKISO<={d '" & datum_bis & "'} " _
                       & "AND (ABSKPF.AARTAK='KL' OR ABSKPF.AARTAK='KD' OR ABSKPF.AARTAK='K1' OR ABSKPF.AARTAK='UM' OR ABSKPF.AARTAK='01' OR ABSKPF.AARTAK='NM' OR ABSKPF.AARTAK='GL' OR ABSKPF.AARTAK='MC' OR ABSKPF.AARTAK='OG' OR ABSKPF.AARTAK='AT') " _
                       & "ORDER BY ABSKPF.LITMAKISO, ABSKPF.KUN1AK, ABSKPF.POLZAK ASC", condb, adOpenForwardOnly, adLockReadOnly
                       
Dim zaehler As Long 'Zähler
Dim sp As Long 'Spaltennummer
Dim ze As Long 'Zeilennummer
   
Range("A7:BR999").ClearContents
Range("A4:A4").ClearContents
Range("O4:O4").ClearContents
Range("AC4:AC4").ClearContents
Range("AQ4:AQ4").ClearContents
Range("BE4:BE4").ClearContents

   
   For sp = 1 To 70 'Innerhalb jeder Zeile Spalten von 1 bis 5 (A bis E) abarbeiten
      Cells(4, sp).FormulaLocal = rec!LITMAKISO
      
      
        ze = 7

       Do Until LITMAKISO_ALT <> rec!LITMAKISO
          Cells(ze, sp).FormulaLocal = rec!BLNRAK
          sp2 = sp + 1
          Cells(ze, sp2).FormulaLocal = rec!COMMAK
          sp2 = sp2 + 1
          Cells(ze, sp2).FormulaLocal = rec!POLZAK
          sp2 = sp2 + 1
          Cells(ze, sp2).FormulaLocal = rec!AUNRAK
          sp2 = sp2 + 1
          Cells(ze, sp2).FormulaLocal = rec!AARTAK
          sp2 = sp2 + 1
          Cells(ze, sp2).FormulaLocal = rec!MX01AK
          sp2 = sp2 + 1
          Cells(ze, sp2).FormulaLocal = rec!MX02AK
          sp2 = sp2 + 1
          Cells(ze, sp2).FormulaLocal = rec!MX07AK
          sp2 = sp2 + 1
          Cells(ze, sp2).FormulaLocal = rec!KUCHAK
          sp2 = sp2 + 1
          Cells(ze, sp2).FormulaLocal = rec!KORPAK
          sp2 = sp2 + 1
          Cells(ze, sp2).FormulaLocal = rec!NEWWAK / 100
          sp2 = sp2 + 1
          Cells(ze, sp2).FormulaLocal = rec!KUN1AK
          sp2 = sp2 + 1
          Cells(ze, sp2).FormulaLocal = rec!TOURAK
          sp2 = sp2 + 1
          If (rec!KUN2AK <= 99) Then
          KUN2AK = CInt(rec!KUN2AK)
          Else
          KUN2AK = rec!KUN2AK
          End If
          Cells(ze, sp2).FormulaLocal = KUN2AK
          ze = ze + 1
          rec.MoveNext
        Loop

        LITMAKISO_ALT = rec!LITMAKISO
        sp = sp2
    rec.MoveNext
   Next 'Nächste Spalte



condb.Close

Unload Kalenderwoche_Anzeigen

End Sub

 

rec!LITMAKISO ist nicht mehr gefüllt.

MfG Niels

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Laufzeitfehler 3021 BOF oder EOF True
13.02.2019 15:19:03 Niels
NotSolved
14.02.2019 10:56:50 Gast81760
*****
Solved
14.02.2019 14:37:37 Niels
NotSolved