Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Recordsource, Unterformular, Daten eingeben

Begonnen von Iwanai, Mai 25, 2015, 18:17:13

⏪ vorheriges - nächstes ⏩

Iwanai

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

MzKlMu

Hallo,
ZitatWenn "Daten eingeben" auf "ja" steht,
das ist dann normal. Wenn das auf Ja steht werden grundsätzlich keine vorhanden Datensätze angezeigt.
Gruß Klaus

Iwanai

Wenn "Daten eingeben" auf "Nein" steht, ist die Option "Neuer (leerer) Datensatz" ausgeblendet.

MzKlMu

Hallo,
zeige bitte mal die Abfrage komplett.
Gruß Klaus

Iwanai

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ß

MzKlMu

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 ?
Gruß Klaus

Iwanai

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).

MzKlMu

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.
Gruß Klaus