Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Fehler 2107 bei setzen der RecordSource eines Listenfeldes
zurück: Typenunverträglichkeit bei If-Anwendung weiter: combifeld in hf soll ds im uf filtern Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
tobias.m.mueller
Office-VBA-Programmierer


Verfasst am:
29. Nov 2010, 10:22
Rufname:

Fehler 2107 bei setzen der RecordSource eines Listenfeldes - Fehler 2107 bei setzen der RecordSource eines Listenfeldes

Nach oben
       Version: Office 2003

Hallo zusammen,

ich grübel jetzt schon stundenlang über einem Problem in einem Access-Projekt (2003), das mit einem SQL Serve verbunden ist.

Ausgangssituation:
Ich habe ein Listenfeld in einem Formular und per Button werden Datensätze auf dem Server einer Tabelle hinzugefügt und dann die RecordSource des Listenfeldes aktualisiert. Der Datensatz wird auch richtig der Tabelle hinzugefügt und die Liste wird richtig aktualisiert mit:
Code:
    Me.RecordSource = "SELECT * FROM TBL_PROGNOSE WHERE ID = " & prognoseID
Jetzt das Problem:
Das alles funktioniert nur, wenn die Liste nicht leer ist vor dem Einfügen. Lösche ich also alle Prognosen aus der Liste (also aus der DB) und füge dann eine neue Prognose hinzu (erscheint in der DB, wenn ich den Code zum Debuggen vor
Code:
    Me.RecordSource = "SELECT * FROM TBL_PROGNOSE WHERE ID = " & prognoseID
stoppe), dann kommt
Zitat:
Fehler 2107:
"Der von Ihnen eingegebene Wert genügt nicht der Gültigkeitsregel, die für das Feld bzw. Steuerelement definiert ist."
Allerdings funktioniert die obige Zeile ja sonst auch, nur nicht, wenn die Liste vorher leer war...
Wo liegt hier das Problem, dass ich einfach nicht sehe?

Viele Dank schon mal für Antworten! Smile

Gruß, Tobias
Tom2002
Der einzig Wahre Leuchtturm - Pilsum


Verfasst am:
29. Nov 2010, 11:32
Rufname:
Wohnort: Düsseldorf


AW: Fehler 2107 bei setzen der RecordSource eines Listenfeld - AW: Fehler 2107 bei setzen der RecordSource eines Listenfeld

Nach oben
       Version: Office 2003

Moin,

könnte daran liegen, dass die prognoseID = NULL ist. Versuch mal
Code:
= " & Nz(prognoseID, 0)

Ciao

Tom

_________________
Win7, Win2008 R2, Office 2010 Prof

Wer mit Fortuna Düsseldorf groß geworden ist, der fürchtet sich auch vor Access nicht.
Die Nutzlosigkeit des Daseins anzuerkennen heisst, Fortuna-Fan zu sein.
tobias.m.mueller
Office-VBA-Programmierer


Verfasst am:
29. Nov 2010, 11:56
Rufname:

AW: Fehler 2107 bei setzen der RecordSource eines Listenfeld - AW: Fehler 2107 bei setzen der RecordSource eines Listenfeld

Nach oben
       Version: Office 2003

Leider nein, die habe ich auch schon überprüft, prognoseID ist der richtige Integer Wert.
Der Datensatz erscheint in der Liste nach einfügen des Datensatzes in die DB. Im Prinzip passiert folgendes:
Code:
'    executeStoredProcedure ...
'Hier wird neue Prognose in TBL_PROGNOSE eingefügt
    prognoseListe.Requery
'dahiner steckt die RowSource
'SELECT ID, PROGNOSEDATUM FROM TBL_PROGNOSE ORDER BY PROGNOSEDATUM DESC
    prognoseList.SetFocus
    prognoseListe.Selected(0) = True
'der eingefügt Datensatz ist immer oben in der Liste, es wird also der richtige ausgewählt
    prognoseID = prognoseListe.ItemData(prognoseListe.ListIndex)
'Ist beim Debuggen auch richtig gesetzt!
    If Not IsNull(prognoseID) Then
        Me.RecordSource = "SELECT * FROM TBL_PROGNOSE WHERE ID = " & prognoseID
  'DIESE ZEILE WIRFT DEN FEHLER wenn vorher keine Prognose vorhanden war!
  'Die gleiche SQL-Query in MS SQL Server Management Studio direkt eingegeben funktioniert einwandfrei!
        Me.Requery
        '...
    End If

Gruß, Tobias
jklö
Im Profil kannst Du frei den Rang ändern


Verfasst am:
29. Nov 2010, 13:25
Rufname:

AW: Fehler 2107 bei setzen der RecordSource eines Listenfeld - AW: Fehler 2107 bei setzen der RecordSource eines Listenfeld

Nach oben
       Version: Office 2003

Zitat:
Fehler 2107:
"Der von Ihnen eingegebene Wert genügt nicht der Gültigkeitsregel, die für das Feld bzw. Steuerelement definiert ist."
Welche Gültigkeitsregeln stehen
- in der Tabelle
- in der Tabelle im Tabellenfeld [ID]
- im Formular im betreffenden Text/Listenfeld

mfg
tobias.m.mueller
Office-VBA-Programmierer


Verfasst am:
29. Nov 2010, 13:47
Rufname:

AW: Fehler 2107 bei setzen der RecordSource eines Listenfeld - AW: Fehler 2107 bei setzen der RecordSource eines Listenfeld

Nach oben
       Version: Office 2003

Code:
CREATE TABLE [dbo].[TBL_PROGNOSE](
   [ID] [int] IDENTITY(1,1) NOT NULL,
   [PROGNOSEDATUM] [datetime] NOT NULL
CONSTRAINT [PK_dbo.TBL_PROGNOSE] PRIMARY KEY CLUSTERED
(
  [ID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
Für das Listenfeld gibt es keine Gültigkeitsregeln (das Feld ist leer im Eigenschaften-Blatt)

mfG
jklö
Im Profil kannst Du frei den Rang ändern


Verfasst am:
29. Nov 2010, 14:30
Rufname:

AW: Fehler 2107 bei setzen der RecordSource eines Listenfeld - AW: Fehler 2107 bei setzen der RecordSource eines Listenfeld

Nach oben
       Version: Office 2003

Falls es keine ID mit "0" als Wert gibt, vielleicht geht es so .....
Code:
    ' ...
    If prognoseID > 0 Then
        Me.RecordSource = "SELECT * FROM TBL_PROGNOSE WHERE ID = " & prognoseID
    ' ...
mfg
tobias.m.mueller
Office-VBA-Programmierer


Verfasst am:
29. Nov 2010, 14:31
Rufname:


AW: Fehler 2107 bei setzen der RecordSource eines Listenfeld - AW: Fehler 2107 bei setzen der RecordSource eines Listenfeld

Nach oben
       Version: Office 2003

Allerdings sind die IDs nie "0" sondern mittlerweile dreistellig...
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Tabellenserstellungsabfrage: Primärschlüssel setzen? 4 spritsparer 1196 23. Nov 2006, 19:15
spritsparer Tabellenserstellungsabfrage: Primärschlüssel setzen?
Keine neuen Beiträge Access Tabellen & Abfragen: Kein Daten dann "0" setzen ? Dringend!!! 16 IV 1813 05. Nov 2006, 20:43
jens05 Kein Daten dann "0" setzen ? Dringend!!!
Keine neuen Beiträge Access Tabellen & Abfragen: Problem beim Setzen von Beziehungen 8 Stefan1982 1018 13. Sep 2006, 14:18
Stefan1982 Problem beim Setzen von Beziehungen
Keine neuen Beiträge Access Tabellen & Abfragen: SQL-Abfrage DateDiff ->Finde den Fehler nicht! 1 Schorsch84 5840 24. Aug 2006, 10:24
bogumiljackson SQL-Abfrage DateDiff ->Finde den Fehler nicht!
Keine neuen Beiträge Access Tabellen & Abfragen: Wo ist der Fehler???? 1 RobBase 586 16. Aug 2006, 10:09
viny Wo ist der Fehler????
Keine neuen Beiträge Access Tabellen & Abfragen: Fehler in der selectanweisung Hilfe!!!!!!!!!!!!!! 6 vbatobi 891 18. Apr 2006, 13:24
chris1337 Fehler in der selectanweisung Hilfe!!!!!!!!!!!!!!
Keine neuen Beiträge Access Tabellen & Abfragen: Autowert für Datenbankweitergabe auf Null setzen 1 siena 2192 13. März 2006, 14:02
jens05 Autowert für Datenbankweitergabe auf Null setzen
Keine neuen Beiträge Access Tabellen & Abfragen: Access abfrage mittels SQL gibt Fehler... 1 Doris72 692 27. Feb 2006, 20:44
jens05 Access abfrage mittels SQL gibt Fehler...
Keine neuen Beiträge Access Tabellen & Abfragen: Fehler beim Abfrage Gruppieren 0 hafisch 900 22. Sep 2005, 12:39
hafisch Fehler beim Abfrage Gruppieren
Keine neuen Beiträge Access Tabellen & Abfragen: UserEingabe aus DialogBox als Kriterium in 2 Abfragen setzen 3 MarcMM 1000 05. Sep 2005, 14:49
Willi Wipp UserEingabe aus DialogBox als Kriterium in 2 Abfragen setzen
Keine neuen Beiträge Access Tabellen & Abfragen: autowert auf 0 setzen 2 heirnele 4353 21. Jul 2005, 12:39
heirnele autowert auf 0 setzen
Keine neuen Beiträge Access Tabellen & Abfragen: Reservierter Fehler (-1517); es gibt keine Meldung für ... 1 Matthiasmms 2719 27. Apr 2005, 19:08
romu Reservierter Fehler (-1517); es gibt keine Meldung für ...
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: HTML CSS