Hallo zusammen,
langsam bin ich am verzweifeln: Für ein Unterformular möchte ich mit einer SQL-Abfrage aus einer Tabelle Daten anzeigen. Auch das Eingeben von neuen Datensätzen soll in diesem Unterformular möglich sein.
Mein Ansatz:
strSql = "select feld1, feld2... from tabelle;"
Mein.Formular.Recordsource = strSql
(Zusatzinfo: Die SQL-Abfrage enthält zwei globale Variablen in der Where-Klausel.)
Die Lösung funktioniert nur, wenn das Attribut des Unterformulars "Daten eingeben" auf "Nein" gesetzt ist. Wenn "Daten eingeben" auf "ja" steht, werden die Daten im Unterformular nicht aktualisiert/angezeigt.
Wo liegt mein Fehler?
Access Version: 2010
Vielen Dank im Voraus
Iwanai
Hallo,
ZitatWenn "Daten eingeben" auf "ja" steht,
das ist dann normal. Wenn das auf Ja steht werden grundsätzlich keine vorhanden Datensätze angezeigt.
Wenn "Daten eingeben" auf "Nein" steht, ist die Option "Neuer (leerer) Datensatz" ausgeblendet.
Hallo,
zeige bitte mal die Abfrage komplett.
Hallo Klaus,
hier die Abfrage:
"select candidates.candidate, candidates.candidate_state, candidates.candidate_date, candidates.samid, candidates.itemid from candidates where candidates.itemid = gbl_itemid and candidates.samid = gbl_samid;"
(gbl_itemid und gbl_samid = globale Variablen). Tabelle Candidates ist eine Oracle-Tabelle mit Auto-PK (+1 sequnce und trigger) definiert.
Danke und Gruß
Hallo,
Variable müssen verkettet werden.
"select candidate, candidate_state, candidate_date, samid, itemid from candidates where itemid = " & gbl_itemid & " and samid = " & gbl_samid
Welcher Datentyp haben denn die Variablen ?
Hallo Klaus,
den Sinn der Variablenverkettung habe ich nicht ganz verstanden. Allerdings habe ich soeben mit "select * from ..." statt der Nennung einzelner Attribute experimentiert und die Aktualisierung des Unterformulars scheint zu funktionieren; auch die Option "Neuer (leerer) Datensatz" ist nun aktiv. Allerdings bekomme ich jetzt einen ODBC-Fehler beim Versuch, neuen Datensatz einzugeben:
Einfügen in einer verknüpften Tabelle "CANDIDATES" fehlgeschlagen. Oracle: cannot insert NULL into ("CANDIDATES"."ITEMID") (#1400).
Hallo,
lasse Dir im Direktbereich mal den Inhalt von strSql ausgeben, dann siehst Du was entstanden ist. Und siehst auch ob die Variablen Inhalt haben.