collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 124
  • Punkt Versteckte: 1
  • Punkt Mitglieder: 1

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 14260
  • stats Beiträge insgesamt: 69842
  • stats Themen insgesamt: 9396
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Probleme mit Recordset  (Gelesen 7308 mal)

Offline Juno

  • Access-Profi
  • **
  • Beiträge: 114
Probleme mit Recordset
« am: Dezember 07, 2010, 15:10:15 »
Hallo zusammen,

ich habe folgenden Code:
        Set db2 = CurrentDb
        Set rs = db2.OpenRecordset("SELECT * FROM qryDetDispo4 WHERE vk_nr = " & Me!vk_nr)

        For Each fld In rs.Fields
            For Each prop In fld.Properties
                If prop.name = "Description" Then
                    sf() = Split(prop.Value, "|")
                    If UBound(sf) >= 1 Then
                        s = Switch(sUeberschrift = "bmu.bgs", sf(0), sUeberschrift = "bmu.nwl", sf(1), sUeberschrift = "bmu.uns", sf(2))
                        If Len(s) > 0 Then sOut = sOut & Chr(34) & s & Chr(34) & ", " & Chr(34) & rs(fld.name) & Chr(34) & vbCrLf
                    Else
                        sOut = sOut & Chr(34) & prop.Value & Chr(34) & ", " & Chr(34) & rs(fld.name) & Chr(34) & vbCrLf
                    End If
                End If
            Next prop
        Next fld

Dieser Code funktioniert aber so nicht. Ich denke mal der hat ein Problem mit der SQL-Anweisung in dem Recordset.
Weil wenn ich nur diesen Code verwende dann funktionierts:
        Set rs = db2.OpenRecordset("qryDetDispo4")
Wo könnte der mein Fehler liegen? Ich habe jetzt schon ein paar Tage versucht eine Lösung zu finden. Aber ohne Erfolg.
 

database

  • Gast
Re: Probleme mit Recordset
« Antwort #1 am: Dezember 07, 2010, 15:21:10 »
Hallo,

da kann das Problem dann eigentlich nur in der WHERE-Klausel liegen.

Ist das Feld vk_nr in dieser Schreibweise in der qryDetDispo4 enthalten?
Ist das Feld vk_nr vom Datentyp Zahl?
Gibt es das Feld vk_nr im Formular und hat es zum Zeitpunkt dieses Aufrufs einen Inhalt (ebenfalls Zahl)?

Zitat
Dieser Code funktioniert aber so nicht
Wenn das alles zutrifft - liefert die Abfrage mit dem Kriterium zumindest einen Datensatz zurück?
Welcher Fehler entsteht?
Lies bei Fehler mal die Err.Number und die Err.description aus
 

Offline Juno

  • Access-Profi
  • **
  • Beiträge: 114
Re: Probleme mit Recordset
« Antwort #2 am: Dezember 07, 2010, 15:40:06 »
Ja auf alle 3 Fragen.

Wenn ich diesen Teil:
If prop.name = "Description" Then
End if
wegmache bekomme ich folgende Fehlermeldung:

Laufzeitfehler 3219
Unzulässige Operation

Der Debugger springt dann in folgende Zeile:
sf() = Split(prop.Value, "|")
 

Offline Juno

  • Access-Profi
  • **
  • Beiträge: 114
Re: Probleme mit Recordset
« Antwort #3 am: Dezember 07, 2010, 15:41:51 »
Hier ist noch die Definition der Variablen:
        Dim rs As DAO.Recordset
        Dim db2 As DAO.Database
        Dim fld As DAO.Field
        Dim prop As DAO.Property
        Dim sOut As String
        Dim sf() As String
        Dim s As String
        Dim ff As String
       
        Dim sUeberschrift As String
        Dim strDateiname As String
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23580
Re: Probleme mit Recordset
« Antwort #4 am: Dezember 07, 2010, 16:02:05 »
Hallo,

bzgl. dieser Fehelrmeldung:


Dim sf As Variant
.
.
sf = Split(prop.Value, "|")

Offline Juno

  • Access-Profi
  • **
  • Beiträge: 114
Re: Probleme mit Recordset
« Antwort #5 am: Dezember 07, 2010, 16:04:31 »
Wenn ich das auf Variant änder bekomme ich die Fehlermeldung "Typen unverträglich"
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23580
Re: Probleme mit Recordset
« Antwort #6 am: Dezember 07, 2010, 16:29:57 »
Und WO entsteht  der Fehler?


Hast Du in jedem Beschreibungsfeld  jeden Feldes mindestens 3 durch "|" getrennte Bezeichnungen  (Strings) ,falls überhaupt etwas drinsteht?

Offline Juno

  • Access-Profi
  • **
  • Beiträge: 114
Re: Probleme mit Recordset
« Antwort #7 am: Dezember 07, 2010, 17:16:01 »
Zitat
Und WO entsteht  der Fehler?
Ich denke mal der Fehler liegt hier:
If UBound(sf) >= 1 Then

Ich habe diesen Code auch schonmal in einer anderen Datenbank ausprobiert. Da funktionierts.
Ich habe jetzt mal den Unterschied verglichen.
In meiner jetztigen DB springt der immer bei dem If UBound(sf) >= 1 Then in Else. Und das für jedes Feld der Abfrage. Bei meiner anderen DB da wo es funktioniert geht er nur die Felder durch wo auch eine Beschreibung hinterlegt ist und geht dann immer durch das If. Aber woran könnte das liegen?

Zitat
Hast Du in jedem Beschreibungsfeld  jeden Feldes mindestens 3 durch "|" getrennte Bezeichnungen  (Strings) ,falls überhaupt etwas drinsteht?

Wenn ich etwas bei der Bezeichnung stehen habe dann mit "|" getrennt. Ich habe aber nicht in jedem Feld etwas stehen. Soll auch nicht.
 

Offline Juno

  • Access-Profi
  • **
  • Beiträge: 114
Re: Probleme mit Recordset
« Antwort #8 am: Dezember 07, 2010, 17:36:43 »
Sorry , nein der Fehler liegt nicht da sondern hier:

If prop.name = "Description" Then
prop.name = "Description" = Falsch ist das Ergebnis.

Das verstehe ich aber nicht weil ich eindeutig bei einigen Felder eine Beschreibung hinterlegt habe.
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23580
Re: Probleme mit Recordset
« Antwort #9 am: Dezember 07, 2010, 19:00:30 »
Hallo,

da wirst Du halt gerade ein Feld erwischt haben, das keine Beschreibung besitzt.


Bei mir klappt der Code jedenfalls, wenn man von der  latenten Fehlermöglichkeit absieht, die entsteht, wenn zwar eine Beschreibung existiert, darin aber keine (mindestens) zwei "|" -Zeichen enthalten sind.


Setz einen Haltepunkt an den Anfang der äußeren Schleife und fahre das Ganze mit Einzelschritt durch...

Offline Juno

  • Access-Profi
  • **
  • Beiträge: 114
Re: Probleme mit Recordset
« Antwort #10 am: Dezember 08, 2010, 07:00:02 »
Also wenn ich anstelle "SELECT * FROM qryDetDispo4 WHERE vk_nr = " & Me!vk_nr einfach nur qryDetDispo4 nehme dann funktioniert das. Kann es sein, dass es bei der SELECT-Anweisung keine Beschreibungen gibt auch wenn ich diese bei qryDetDispo4 angelegt habe?

Mit der SELECT-Anweisung bekomme ich keine Fehlermeldung aber ich bekomme auch kein Ergenis. Das erkennt einfach nicht, dass es dort Beschreibungen gibt.

Ich habe den Haltepunkt gesetzt und genau das passiert. Immer wird If prop.Name = "Description" Then als Falsch erkannt.
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23580
Re: Probleme mit Recordset
« Antwort #11 am: Dezember 08, 2010, 08:12:04 »
Hallo,

da würde ich eher sagen, der SQL-String liefert keine Datensätze, d.h. die Where-Condition  trifft nie zu.....

Was ist denn "qryDetDispo4"  ?   lt. Benamsung muß man eine Abfrage annehmen.

Auf diese Abfrage setzt Du nochmal ein Kriterium an, bei dem
a) das Feld in der Abfrage enthalten sein muß
b) der Datentyp Zahl, long sein muß
c) "Me!vk_nr" nicht NULL sein darf

Offline Juno

  • Access-Profi
  • **
  • Beiträge: 114
Re: Probleme mit Recordset
« Antwort #12 am: Dezember 08, 2010, 09:18:36 »
Ja das ist eine Abfrage.

Und die WHERE Klausel trifft zu. Ich habe das auch schon getestet.

Ja auf a,b und c
 

Offline Juno

  • Access-Profi
  • **
  • Beiträge: 114
Re: Probleme mit Recordset
« Antwort #13 am: Dezember 08, 2010, 09:45:44 »
Also ich weiß wirklich nicht!!!  ??? ???Jetzt habe ich das ganze mal neu aufgebaut und das funktioniert!!

Aber ich habe keine Ahnung was sich jetzt geändert hat.

Vielen Dank trotzdem für eure Hilfe.
 

 

Probleme mit Access und Visual Basic

Begonnen von RedakteurinBoard Access Programmierung

Antworten: 12
Aufrufe: 9394
Letzter Beitrag März 03, 2019, 20:36:33
von DF6GL
2 Probleme mit Ufo in Ufo

Begonnen von traggerBoard Access Programmierung

Antworten: 4
Aufrufe: 3610
Letzter Beitrag August 03, 2010, 11:29:35
von tragger
Probleme bei Bericht mit Unterberichten ?

Begonnen von harry_trBoard Bericht

Antworten: 2
Aufrufe: 3081
Letzter Beitrag August 03, 2010, 07:56:19
von harry_tr
Primärschlüssel löschen - verursacht Probleme im Übersichtsformular

Begonnen von cyberchrisBoard Tabelle/Abfrage

Antworten: 0
Aufrufe: 2154
Letzter Beitrag August 24, 2010, 09:18:13
von cyberchris
Probleme mit via ODBC verknüpften Tabellen

Begonnen von cyorpsBoard MySQL

Antworten: 1
Aufrufe: 6160
Letzter Beitrag September 05, 2010, 09:57:07
von database