4.8k Aufrufe
Gefragt in Datenbanken von Einsteiger_in (15 Punkte)
Liebe Access-Kundigen,

ich bekomme ständig eine Fehlermeldung, dass im Satz "Probanden_ID=" ein Syntaxfehler besteht. Dabei ist die Zeile
i = DCount("Probanden_ID", "BlockIV_1", "Probanden_ID=" & Me!Probanden_ID)
markiert. Was soll ich tun? Bitte helft mir!

Auszug:

Private Sub Form_Open(Cancel As Integer)
Dim rs As DAO.Recordset
Dim fld As DAO.Field
Dim strSQL As String
Dim i As Long

Me!Probanden_ID = Me.OpenArgs

i = DCount("Probanden_ID", "BlockIV_1", "Probanden_ID=" & Me!Probanden_ID)
If i > 0 Then
strSQL = "SELECT BlockIV_1.Probanden_ID, BlockIV_1.[1]"
strSQL = strSQL & " FROM BlockIV_1 WHERE Probanden_ID=" & Me!Probanden_ID
Set rs = CurrentDb.OpenRecordset(strSQL)
For Each fld In rs.Fields
Me(fld.Name) = rs.Fields(fld.Name).Value
Next
rs.Close
Set rs = Nothing
End If
End Sub

6 Antworten

0 Punkte
Beantwortet von Einsteiger_in (15 Punkte)
zusätzliche Info: bei der Fehlermeldung steht in Klammern "fehlender Operator". Was könnte da fehlen?

Lieben Dank!
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Francis,

probier folgendes:

strSQL = strSQL & " FROM BlockIV_1 WHERE Probanden_ID=" &

laß hier das "WHERE" weg.

Gruß

Paul1
0 Punkte
Beantwortet von Einsteiger_in (15 Punkte)
Lieber Paul,

ich habe leider noch keine Erfahrungen mit Access und arbeite mich gerade erst in das ganze ein. Kannst du mir sagen, wo ich diesen Satz

strSQL = strSQL & " FROM BlockIV_1 WHERE Probanden_ID="

einarbeiten muss?

Und dann in diesem Code einfach das WHERE rauslassen, also
strSQL = strSQL & "FROM BlockIV_1 Probanden_ID="

Ist das so richtig?

Herzlichen Dank im Voraus!
Franzi
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Franzi,

Ja probiere es, ich habe den Tipp selbst im Web recherchiert, da ich mir besonders bei Access mit Makros schwer tu.

Beim Googeln konnte ich Laufzeitfehler 3075 in verschiedenen Varianten finden und das über Seiten.

Vielleicht kannst Du mitteilen, welchen Job dieses Makro ausführen soll, um eventuell eine Alternative im herkömmlichen Sinn finden zu können.
Wenn das ganze über eine Abfrage geht, könnte der SQL-Code
aufschluß geben (SQL-Ansicht)

Da ich die Datenbank nicht sehen kann wären Infos über den Aufbau der Datenbank (Tabellen, Beziehungen etc.) sicher von Vorteil

In Access ist es im Vergleich zu Excel zumeist mühsamer die erforderlichen Tests zu absolvieren, da erst eine konkrete Beispieldatenbank mit allem drum und dran erstellt werden müsste.

Gruß

Paul1

Excel/Access 2003

P.S.
Wenn Du experimentierst, erstelle vorher eine Sicherungskopie!
0 Punkte
Beantwortet von Einsteiger_in (15 Punkte)
Lieber Paul,

das ist so: ich mache gerade ein Forschungspraktikum und soll eine Datenbank anpassen, welche verschiedene Fragebögen enthält, welche die Versuchspersonen später im Experiment bündig nacheinander ausfüllen müssen.
Der Praktikant der vor ein paar Monaten hier gearbeitet hat, hat die Fragebögen als Formulare erstellt und schon ein Makro angelegt, d.h. im Prinzip funktioniert die ganze Prozedur. Nun muss ich aber einzelne Sachen verändern bzw. die Reihenfolge der Fragebögen teilweise verändern. Leider habe ich überhaupt keine Erfahrung mit Access und habe keine Ahnung was der hier programmiert hat. Und ich habe auch keine Möglichkeit die Hilfe des damaligen Praktikanten in Anspruch zu nehmen, da keine Forschungsgelder übrig sind.
Nun ist es so, dass schon beim Öffnen aller Formulare dieser Laufzeitfehler 3075 erscheint. Ich kann diese aber durch Anklicken von Entwurf öffnen und versuch jetzt dadurch die Einzelheiten zu ändern.
Kannst du mir sagen, ob die geänderten Einzelheiten dann auch automatisch angepasst werden, wenn ich die ganzen Fragebögen durch den schon betsehenden Makro zusammen aufrufe.
Und hast du eine Anweisung für mich wie oder wo ich einzelne Fragebögen rauslöschen oder in der Abfolge verändern kann?

Liebe Grüße,
Franzi
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Franzi,

Wenn die Formulare in der Entwurfsansicht geändert werden, passt sich das Makro nicht an.

Ich nehme an, dass die Formulare auf Grund von Abfragen erstellt wurden, du kannst versuchen aus den Abfragen die Formulare neu zu erstellen und mit den vorhandenen vergleichen, ob und welche Unterschiede es gibt.

Am besten wäre, wenn Du die Datenbank (anonymisiert) z.B. hier hochlädst und den bekanntgegeben Link ins Forum stellst, damit könnte man das besser nachvollziehen.

Habe zwar Access gelernt, aber aus der Ferne Empfehlungen abzugeben, gehen oft ins Leere.

Ich nutze die Access-Version 2003, kann aber auch die Versionen 97, 2000 und 2002 bearbeiten.

Gruß

Paul1

[sub]Excel > Access > MS-Office 2003
MS Windows XP Professional SP3
ECDL-Syllabus Version 4.0[/sub]
...