Access-o-Mania

Datenbanken (Deutsch/German) => MySQL => Thema gestartet von: Lemmy2902 am Februar 05, 2025, 08:54:11

Titel: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: Lemmy2902 am Februar 05, 2025, 08:54:11
Hallo zusammen, ich habe ein Problem wie oben Beschrieben,
in einer Abfrage habe folgenden Filter eingetragen " Wie "*" & [Formulare]![frmProjekteVerwaltung]![txtJahr]"
wenn ich jetzt versuche die Abfrage auszuführen erhalte ich immer eine Fehlermeldung, wie müsste ich den Filter konform für SQL server lauten.

Danke für die Unterstüzung
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: MzKlMu am Februar 05, 2025, 09:23:03
Hallo,
die Fehlermeldung ist geheim?
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: Lemmy2902 am Februar 05, 2025, 11:00:11
Fehlermeldung:
Dieser Ausdruck wurde Falsch eingegeben , oder er ist zu Komplex, um ausgewertet zu Werden
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: MzKlMu am Februar 05, 2025, 11:39:22
Hallo,
wo befindet sich das Feld "txtJahr" Hafo oder Ufo ?
Ist das Formular geöffnet ?
Ist txtJahr eine Zahl (4-stellig) ?
Warum verwendest Du Wie ...
Willst Du nach Teilen des Feldes filtern, oder immer die ganze Zahl ?

Bei SQL-Server könnte der Platzhalter auch das % Zeichen sein, statt *

Aber da habe ich keine Erfahrung.
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: Lemmy2902 am Februar 05, 2025, 11:55:12
txtJahr befindet sich im Hafo ja das Formular ist geöffnet und es werden nur die Daten angezeigt von 2025. wie wird verwendet um nur die Datensätze von StartDatum 2025 anzuzeigen nach den teilen des Feldes.
in Access ohne Anbindung an SQL Server funktioniert alles bestens, der Fehler tritt erst dann in Erscheinung wenn ich meine Daten mit SQL Verknüpfe. Bei Microsoft SQL Server Migration werden mir die Entsprechende Abfragen auch gegenzeichnet mit roten x.
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: MzKlMu am Februar 05, 2025, 11:58:13
Hallo,
ZitatStartDatum 2025 anzuzeigen nach den teilen des Feldes.
Willst du wirklich nach 2*, oder 20* oder 202* filtern ?

Ich habe oben in #3 noch was nachgetragen.
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: Lemmy2902 am Februar 05, 2025, 12:11:14
sorry mein Fehler nach dem ganzen wert also 2025 oder 2024
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: MzKlMu am Februar 05, 2025, 12:20:23
Hallo,
dann ist der Platzhalter ersatzlos überflüssig.
= [Formulare]![frmProjekteVerwaltung]![txtJahr]
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: Lemmy2902 am Februar 05, 2025, 12:28:31
Leider geht leider nicht bekomme die selbe Fehlermeldung wie oben,
währe ja auch zu schön gewesen.
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: MzKlMu am Februar 05, 2025, 12:31:31
llo,
dann musst Du warten, bis hier mal ein SQL-Server Experte auftaucht.
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: Knobbi38 am Februar 05, 2025, 12:59:04
Hallo,

na ja, welchen Datentype hat denn nun StartDatum? Das entscheidet, ob Hochkommas verwendet werden müssen oder nicht.

In einen Formular-Filterausdruck gehört auch immer der Feldname:
[Startdatum] = [txtJahr]
Wobei ich nicht über einen Formularausdruck gehen würde, sondern per VBA nach einer Änderung den Filterausdruck als String neu zusammen setzten und der Filtereigenschaft zuweisen würde.

Gruß
Knobbi38


Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: Lemmy2902 am Februar 05, 2025, 13:13:28
Der typ ist txtDatum wird übergeben an die Abfrage
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: Knobbi38 am Februar 05, 2025, 13:16:39
Das ist kein Datentyp sondern die Bezeichnung für ein Steuerelement. Gemeint war der Datentyp des Feldes in der Abfrage.

Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: Lemmy2902 am Februar 05, 2025, 13:40:27
text kurz
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: Knobbi38 am Februar 05, 2025, 13:47:22
Also dann, wie immer: Text in SQL muß in Hochkommas eingeschlossen werden.

Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: Lemmy2902 am Februar 05, 2025, 13:58:25
Zitat von: Lemmy2902 am Februar 05, 2025, 13:40:27text kurz
sorry ist ein Datums Feld
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: Lemmy2902 am Februar 05, 2025, 13:58:59
Was soll ich in hochkommer stellen den text
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: Lemmy2902 am Februar 05, 2025, 14:04:40
Zitat von: Lemmy2902 am Februar 05, 2025, 13:58:59Was soll ich in hochkommer stellen den text
[Formulare]![frmProjekteVerwaltung]![txtJahr] Steh da jetzt auf den Schlauch ..

Private Sub Form_Load()
 With Me.cmbJahr
    .AddItem "2024"
    .AddItem "2023"
    .AddItem "2025"
 End With
 
End Sub

Private Sub cmbJahr_Change()
    Select Case cmbJahr.Value
Case Is = "2024": txtJahr.Value = "2024"
Case Is = "2023": txtJahr.Value = "2023"
Case Is = "2025": txtJahr.Value = "2025"
Case Else: txtJahr.Value = "Kein Kein Jahr Gewält"
End Select
ref
End Sub
so befülle ich und übergebe die werte dann an das textfeld Jahr dises übergebe ich dann der Filterfunktion
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: Bitsqueezer am Februar 05, 2025, 14:38:58
Hallo,

zu Deinem VBA: Wenn Du doch schon eine Kombobox mit der Zahl hast, wozu befüllst Du dann noch ein Textfeld damit?
Und statt dieses umständlichen Select-Case-Konstruktes könntest Du auch einfach schreiben:
Me.txtJahr = Me.cmbJahrDas gehört auch nicht in den Change-Event (der nach jedem Zeichen aufgerufen wird, das Du tippst), sondern in den AfterUpdate-Event.

Wenn das Feld, das Du abfragen willst, ein Datumsfeld ist, kannst Du einfach "YEAR(Datumsfeld) = [Formulare]![frmProjekteVerwaltung]![txtJahr]" schreiben.

Es wäre aber hilfreicher, wenn Du die Abfrage auf SQL umschaltest und den gesamten Text dort hier hineinkopierst, denn "Abfrage zu komplex" hat sicher nichts mit diesem Filter zu tun.

Bei SQL Server ist der Joker zwar "%" statt "*", das gilt aber nur, wenn man T-SQL einsetzt, also z.B. eine Pass-Through-Abfrage oder eine Abfrage in VBA mit ADO formuliert.

Gruß

Christian

Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: Lemmy2902 am Februar 05, 2025, 14:55:53
Also das Me.txtJahr = Me.cmbJahr ist gut aber in Abfrage bekomme ich eine Fehlermeldung " Interner Fehler"
"YEAR(proStartDatum) = [Formulare]![frmProjekteVerwaltung]![txtJahr]"
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: Lemmy2902 am Februar 05, 2025, 15:31:39
SELECT tblProjekte.projektID, tblProjekte.proNummer, tblProjekte.proBeschreibung, tblProjekte.proProjektGeschlossen, tblProjekte.proStartDatum, tblProjekte.DatumAenderung
FROM tblProjekte
WHERE (((tblProjekte.proStartDatum)="YEAR(proStartDatum) = [Formulare]![frmProjekteVerwaltung]![txtJahr]"));
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: MzKlMu am Februar 05, 2025, 15:49:13
Hallo,
versuche es so:
SELECT projektID
    ,proNummer
    ,proBeschreibung
    ,proProjektGeschlossen
    ,proStartDatum
    ,DatumAenderung
FROM tblProjekte
WHERE YEAR(proStartDatum) = [Formulare]![frmProjekteVerwaltung]![txtJahr]
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: Lemmy2902 am Februar 05, 2025, 15:52:48
Als Abfrage?
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: Lemmy2902 am Februar 05, 2025, 15:55:52
Interner Fehler, wenn ich die Abfrage ausführen will
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: MzKlMu am Februar 05, 2025, 15:56:11
Hallo,
ZitatAls Abfrage?
Das ist jetzt aber eine eigenartige Frage, was soll das sonst sein, als eine Abfrage ?
Die Abfrage ist nur leserlich formatiert.
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: MzKlMu am Februar 05, 2025, 15:58:47
Hallo,
zeige bitte jetzt noch mal die Abfrage (SQL). Das sollte eigenlich logisch sein, dass man die Abfrage immer zeigt. Wie sonst soll man Fehler finden ?
Und wie führst Du diese aus ?

Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: Lemmy2902 am Februar 05, 2025, 16:00:42
SELECT tblProjekte.projektID, tblProjekte.proNummer, tblProjekte.proBeschreibung, tblProjekte.proProjektGeschlossen, tblProjekte.proStartDatum, tblProjekte.DatumAenderung
FROM tblProjekte
WHERE (((tblProjekte.proStartDatum)="WHERE YEAR(proStartDatum) = [Formulare] ! [frmProjekteVerwaltung] ! [txtJahr]"));
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: MzKlMu am Februar 05, 2025, 16:17:07
Hallo,
die gezeigte Abfrage entspricht nicht meiner Abfrage in #21.
Die Whereklausel ist komplett falsch.
Und wie du die Abfrage ausführst hast du auch nicht verraten.
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: Bitsqueezer am Februar 05, 2025, 17:05:06
Hallo,

wenn Du doch gesehen hast, wie eine Abfrage in SQL aussieht und Du bekommst eine geänderte Abfrage, ebenfalls in SQL, wieso gibst Du dann den WHERE-Teil im Abfragedesigner ein statt die SQL-Abfrage im SQL-Editor zu ersetzen?

Was denkst Du, wenn Du diese Zeile liest?
WHERE (((tblProjekte.proStartDatum)="WHERE YEAR(proStartDatum) = [Formulare] ! [frmProjekteVerwaltung] ! [txtJahr]"));
2x WHERE? Startdatum = Text in Anführungszeichen? Text ist "WHERE..."? Macht Dich das so gar nicht stutzig?
So ein bißchen nachdenken sollte man vielleicht auch.

Darüber hinaus hat Klaus je ein Leerzeichen vor und nach "!" zuviel, die müssen auch raus.

Ich würde eine Abfrage auch immer mit Tabellenalias qualifizieren, auch als Prefix für jedes Feld, aber ich traue mich ja schon nicht, das zu schreiben, da Du den Hinweis vermutlich auch nicht verstehen/umsetzen könntest.

Gruß

Christian
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: MzKlMu am Februar 05, 2025, 17:17:30
Hallo,
@christian
die Leerzeichen fügt der SQL Formatierer immer wieder automatisch ein und manchmal vergesse ich die dann zu löschen. Habe es jetzt aber nachgeholt.
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: Lemmy2902 am Februar 05, 2025, 17:31:30
Zitat von: Bitsqueezer am Februar 05, 2025, 17:05:06Hallo,

wenn Du doch gesehen hast, wie eine Abfrage in SQL aussieht und Du bekommst eine geänderte Abfrage, ebenfalls in SQL, wieso gibst Du dann den WHERE-Teil im Abfragedesigner ein statt die SQL-Abfrage im SQL-Editor zu ersetzen?

Was denkst Du, wenn Du diese Zeile liest?
WHERE (((tblProjekte.proStartDatum)="WHERE YEAR(proStartDatum) = [Formulare] ! [frmProjekteVerwaltung] ! [txtJahr]")); weißt du wenn man sich damit stunden beschäftigt verliert man irgendwann den Blick fürs wesentliche

2x WHERE? Startdatum = Text in Anführungszeichen? Text ist "WHERE..."? Macht Dich das so gar nicht stutzig?
So ein bißchen nachdenken sollte man vielleicht auch.

Darüber hinaus hat Klaus je ein Leerzeichen vor und nach "!" zuviel, die müssen auch raus.

Ich würde eine Abfrage auch immer mit Tabellenalias qualifizieren, auch als Prefix für jedes Feld, aber ich traue mich ja schon nicht, das zu schreiben, da Du den Hinweis vermutlich auch nicht verstehen/umsetzen könntest.

Gruß

Christian

Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: MzKlMu am Februar 05, 2025, 18:24:18
Hallo,
und was willst du jetzt mit einem kompletten Beitrag als Zitat?
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: Lemmy2902 am Februar 06, 2025, 07:00:20
Guten Morgen Ok sorry mein Fehler, die Abfrage funktioniert, Danke nochmal für die Hilfe, noch eine Frage wie kann ich die Abfrage so erweitern das auch ein Kontrollkästchen abgefragt wird
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: MzKlMu am Februar 06, 2025, 08:11:55
allo,
und wie heist das KK in der Tabelle und im Formular ?
Abfrage auf True oder False ?
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: Lemmy2902 am Februar 06, 2025, 08:44:58
proArbeitenAbgeschlossen Hafo und in der Tabelle proArbeitenAbgeschlossen Abfrage -1 oder 0
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: MzKlMu am Februar 06, 2025, 08:49:39
Hallo,
bitte meine Fragen vollständig beantworten.
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: Lemmy2902 am Februar 06, 2025, 08:50:50
Das ist die Originál
SELECT tblProjekte.projektID, tblProjekte.proNummer, tblProjekte.proBeschreibung, tblProjekte.proProjektGeschlossen, tblProjekte.proStartDatum, tblProjekte.DatumAenderung
FROM tblProjekte
WHERE (((tblProjekte.proProjektGeschlossen) Like "*" & [Formulare]![frmProjekteVerwaltung]![comAuswahl] & "*") AND ((tblProjekte.proStartDatum) Like "*" & [Formulare]![frmProjekteVerwaltung]![txtJahr]));
Abfrage
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: MzKlMu am Februar 06, 2025, 09:26:18
Hallo,
sorry, aber was hast Du aus den 35 Beiträgen gelernt ?
Die gezeigte Abfrage entspricht doch in keinster Weise den bisherigen Vorschlägen. Like ist wieder drin und das Jokerzeichen (*) auch. Die Abfrage ist eine Katastrophe. Von einem Feld "proArbeitenAbgeschlossen" ist in der Abfrage auch nichts zu sehen.

Und meine Frage 
ZitatAbfrage auf True oder False ?
Ist immer noch nicht beantwortet.
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: Lemmy2902 am Februar 06, 2025, 09:35:03
So wohl als Auch Über die KK wird entweder Geschlossen oder Geöffnet Ausgewählt
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: MzKlMu am Februar 06, 2025, 11:17:45
Hallo,
versuche es so:
SELECT projektID
    ,proNummer
    ,proBeschreibung
    ,proProjektGeschlossen
    ,proStartDatum
    ,DatumAenderung
FROM tblProjekte
WHERE YEAR(proStartDatum) = [Formulare]![frmProjekteVerwaltung]![txtJahr] And proProjektGeschlossen = True
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: Lemmy2902 am Februar 06, 2025, 11:44:07
Ja aber ich brauche das mit true oder false�
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: MzKlMu am Februar 06, 2025, 11:52:16
Hallo,
das ist doch drin. True oder False ist alternativ zu verwenden, entweder True oder False.
Wenn Du nicht klar kommst, erstelle eine Beispieldb und lade diese hier hoch.


PS:
Deine Kurzantworten die fast immer eine Rückfrage benötigen sind nervig.
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: Lemmy2902 am Februar 06, 2025, 12:02:48
Ja wenn ich das Händisch mache past es ja ich möchte aber aber gerne den wert true oder false über eine kk eingeben
ich hab zwei kk eine ist das Datum und das zweite kk hat die werte true oder false.
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: MzKlMu am Februar 06, 2025, 12:10:08
Hallo,
dann so:
SELECT projektID
    ,proNummer
    ,proBeschreibung
    ,proProjektGeschlossen
    ,proStartDatum
    ,DatumAenderung
FROM tblProjekte
WHERE YEAR(proStartDatum) = [Formulare]![frmProjekteVerwaltung]![txtJahr]
And proProjektGeschlossen = [Formulare]![frmProjekteVerwaltung]!proArbeitenAbgeschlossen
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: Beaker s.a. am Februar 06, 2025, 13:17:44
Nur so nebenbei, - sollte man nicht lieber [Forms]!... statt [Formulare]!...
schreiben?
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: Knobbi38 am Februar 06, 2025, 13:23:23
@Beaker s.a.

ist egal und funktioniert nicht in VBA. Formularbezüge sollte man eh vermeiden und es es gibt immer die Möglichkeit, den SQL-String zusammenzusetzen oder wenn es öfter gebraucht wird, das mit einer Parameterabfrage zu lösen.

Grüße
Ulrich


Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: Bitsqueezer am Februar 06, 2025, 16:09:05
Hallo,

naja, ganz egal ist es nicht. In einer deutschen Access-Version ist es egal, weil Access das automatisch übersetzt. Läßt man das in einer englischen Version laufen, "weiß" Access nicht, daß das aus einer deutschen Version kam und schmeißt Fehler aus, weil es "Formulare" nicht kennt. Daher macht es schon Sinn, immer darauf zu achten, daß hier "Forms" steht, weil damit alle Sprachversionen klarkommen.
Der Abfragedesigner könnte das dagegen wieder selbständig ändern.

(Ich hatte dieses Problem selbst schon in der Konstellation Entwicklung deutsche Version und Anwendung englische Version.)

Gruß

Christian
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: Lemmy2902 am Februar 06, 2025, 17:31:08
Danke für die Hilfe noch eine lezte Frage währe es klüger die Abfragen in VB zu schreiben?
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: MzKlMu am Februar 06, 2025, 18:50:08
Hallo,
eine Abfrage ist SQL und hat mit VB oder VBA nichts zu tun. Von daher ist es gar nicht möglich Abfragen in VB zu schreiben. Man kann mit VB(A) Abfragen als SQL Befehlsfolge zusammenbauen und dann ggf ausführen oder als Datenquelle für eine Formular/Bericht verwenden. Abfragen werden immer mit SQL geschrieben. Und eine Abfrage ist immer SQL.
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: Lemmy2902 am Februar 06, 2025, 19:01:22
na ich frage ja nur weil der Übertragung Microsoft SQL Server Migration Assistent for Access die Abfragen ignoriert werden die solche abfragen enthalten
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: MzKlMu am Februar 06, 2025, 19:23:01
Hallo,
wie gesagt, Abfragen sind SQL und kein VB(A). Und wie der Name schon sagt, ist SQL Server auch SQL.
Die SQL Versionen unterscheiden sich nur durch einen unterschiedlichen Befehlsumfang.
Man kann wie auch bereits gesagt SQL Befehlsfolgen per VB(A) zusammensetzen, aber die Abfrage ist dann trotzdem SQL.
Titel: Re: Ich Hab ein Problem mit einer Abfrage von Access zu SQL Server 2022
Beitrag von: Lemmy2902 am Februar 06, 2025, 19:25:05
ok, danke an allen die mir geholfen haben