- Joined
- Feb 2, 2007
- Messages
- 4,344
- Points
- 270
da habe ich mal wieder ein sql-problem, aber diesmal in ms access 2003.
der geklammerte join
(tblPrüfungen LEFT JOIN tblBemerkungsverzeichniszugehörigkeit ON tblPrüfungen.PrüfungsID=tblBemerkungsverzeichniszugehörigkeit.PrüfungsID)
alleine funzt und gibt auch zahlreiche PrüfungsIDs aus, welche ja dann für den anderen join in der on-klausel genutzt werden sollen. hier der code:
aber dann kommt die meldung "kein aktueller datensatz". wenn man auf die hilfe klickt kütt:
"Kein aktueller Datensatz. (Fehler 3021)
Dieser Fehler tritt auf, wenn eine der Find- oder Seek-Methoden nicht erfolgreich war, wenn das zugrundeliegende Recordset-Objekt keine Datensätze enthält oder wenn der Datensatz gelöscht wurde. Wechseln Sie zu einem anderen Datensatz, oder wählen Sie einen anderen Datensatz aus, und versuchen Sie dann, die Operation erneut durchzuführen. Wenn das Recordset-Objekt leer ist, können Sie nicht zu einem aktuellen Datensatz gehen. Überprüfen Sie die BOF- und EOF-Eigenschaften.
"
für mich klingt das eher so, als würden die da was von vba-code erzählen?! aber ich starte ja eigentlich nur die pure abfrage?! noch kurz zur erklärung: ich soll diese vorhandene db modifizieren, da der ursprüngliche entwickler spontan nicht mehr zur verfügung steht.
die ursprüngliche abfrage, welche auch funktioniert, sah so aus:
irgendwie merkwürdig. 
der geklammerte join
(tblPrüfungen LEFT JOIN tblBemerkungsverzeichniszugehörigkeit ON tblPrüfungen.PrüfungsID=tblBemerkungsverzeichniszugehörigkeit.PrüfungsID)
alleine funzt und gibt auch zahlreiche PrüfungsIDs aus, welche ja dann für den anderen join in der on-klausel genutzt werden sollen. hier der code:
SQL:
SELECT DISTINCTROW
tblRohrleitung.RohrleitungsID,
tblRohrleitung.LeitungsNrneu,
tblRohrleitung.Rohrleitungsbezeichnung,
tblRohrleitung.Medium,
tblRohrleitung.Von,
tblRohrleitung.Werkstoff,
tblRohrleitung.Nennweite,
tblRohrleitung.Nenndruck,
Format([tblRohrleitung.Nenndruck],"#,##0.00"" bar""") AS Nenndruckformatiert,
tblRohrleitung.ZulBetriebsüberdruck,
Format([tblRohrleitung.ZulBetriebsüberdruck],"#,##0.00"" bar""") AS ZulBetriebsüberdruckformatiert,
tblRohrleitung.ZulBetriebstemperatur,
Format([tblRohrleitung.ZulBetriebstemperatur],"#,##0.00"" °C""") AS ZulBetriebstemperaturformatiert,
tblRohrleitung.Arbeitsdruck,
Format([tblRohrleitung.Arbeitsdruck],"#,##0.00"" bar""") AS Arbeitsdruckformatiert,
tblRohrleitung.Arbeitstemperatur,
Format([tblRohrleitung.Arbeitstemperatur],"#,##0.00"" °C""") AS Arbeitstemperaturformatiert,
tblRohrleitung.VerordnungsID, tblRohrleitung.Dämmung,
tblRohrleitung.Beheizung,
tblRohrleitung.Erdverlegung,
tblRohrleitung.AusserBetrieb,
tblRohrleitung.Sicherheitsrelevant,
tblRohrleitung.Baujahr,
tblRohrleitung.DatumPrüfvInbetrieb,
tblRohrleitung.MasterAnlage,
tblRohrleitung.Nach,
tblRohrleitung.Rohrbrückenverlauf,
tblRohrleitung.Baustützenbelegung,
Last(tblPrüfungen.DatumPrüf) AS LetzterWertvonDatumPrüf,
Max(tblPrüfungen.Prüfart) AS MaxvonPrüfart,
Last(tblPrüfungen.Revision) AS LetzterWertvonRevision,
Last(tblPrüfungen.GefordertePunkte) AS LetzterWertvonGefordertePunkte,
Last(tblPrüfungen.DatnPrüfung) AS LetzterWertvonDatnPrüfung,
Last(tblPrüfungen.ArtnPrüf) AS LetzterWertvonArtnPrüf,
Last(tblPrüfungen.VisMängelOffen) AS LetzterWertvonVisMängelOffen,
Last(tblPrüfungen.Sofortmaßnahmen) AS LetzterWertvonSofortmaßnahmen,
Last(tblPrüfungen.Eingabedatum) AS LetzterWertvonEingabedatum,
tblRohrleitung.GMACAD,
Last(tblPrüfungen.Schwachstellen) AS LetzterWertvonSchwachstellen,
tblBemerkungsverzeichniszugehörigkeit.Rohrabschnitt,
tblBemerkungsverzeichniszugehörigkeit.Prüfpunkt,
tblBemerkungsverzeichniszugehörigkeit.BemerkungsNr,
Last(tblBemerkungsverzeichniszugehörigkeit.Beanstandung) AS LetzterWertvonBeanstandung,
tblBemerkungsverzeichniszugehörigkeit.Risikomatrix,
tblBemerkungsverzeichniszugehörigkeit.behoben,
tblBemerkungsverzeichniszugehörigkeit.behobenDatum,
tblBemerkungsverzeichniszugehörigkeit.Beschreibung
FROM
tblRohrleitung
LEFT JOIN
(
tblPrüfungen
LEFT JOIN
tblBemerkungsverzeichniszugehörigkeit
ON
tblPrüfungen.PrüfungsID = tblBemerkungsverzeichniszugehörigkeit.PrüfungsID
)
ON
tblRohrleitung.RohrleitungsID = tblPrüfungen.RohrleitungsID
GROUP BY
tblRohrleitung.RohrleitungsID,
tblRohrleitung.LeitungsNrneu,
tblRohrleitung.Rohrleitungsbezeichnung,
tblRohrleitung.Medium,
tblRohrleitung.Von,
tblRohrleitung.Werkstoff,
tblRohrleitung.Nennweite,
tblRohrleitung.Nenndruck,
tblRohrleitung.ZulBetriebsüberdruck,
tblRohrleitung.ZulBetriebstemperatur,
tblRohrleitung.Arbeitsdruck,
tblRohrleitung.Arbeitstemperatur,
tblRohrleitung.VerordnungsID,
tblRohrleitung.Dämmung,
tblRohrleitung.Beheizung,
tblRohrleitung.Erdverlegung,
tblRohrleitung.AusserBetrieb,
tblRohrleitung.Sicherheitsrelevant,
tblRohrleitung.Baujahr,
tblRohrleitung.DatumPrüfvInbetrieb, tblRohrleitung.MasterAnlage,
tblRohrleitung.Nach,
tblRohrleitung.Rohrbrückenverlauf,
tblRohrleitung.Baustützenbelegung, tblRohrleitung.GMACAD,
tblBemerkungsverzeichniszugehörigkeit.Rohrabschnitt,
tblBemerkungsverzeichniszugehörigkeit.Prüfpunkt,
tblBemerkungsverzeichniszugehörigkeit.BemerkungsNr,
tblBemerkungsverzeichniszugehörigkeit.Risikomatrix,
tblBemerkungsverzeichniszugehörigkeit.behoben,
tblBemerkungsverzeichniszugehörigkeit.behobenDatum,
tblBemerkungsverzeichniszugehörigkeit.Beschreibung,
tblBemerkungsverzeichniszugehörigkeit.Beanstandung
ORDER BY
tblRohrleitung.LeitungsNrneu;
aber dann kommt die meldung "kein aktueller datensatz". wenn man auf die hilfe klickt kütt:
"Kein aktueller Datensatz. (Fehler 3021)
Dieser Fehler tritt auf, wenn eine der Find- oder Seek-Methoden nicht erfolgreich war, wenn das zugrundeliegende Recordset-Objekt keine Datensätze enthält oder wenn der Datensatz gelöscht wurde. Wechseln Sie zu einem anderen Datensatz, oder wählen Sie einen anderen Datensatz aus, und versuchen Sie dann, die Operation erneut durchzuführen. Wenn das Recordset-Objekt leer ist, können Sie nicht zu einem aktuellen Datensatz gehen. Überprüfen Sie die BOF- und EOF-Eigenschaften.
"
für mich klingt das eher so, als würden die da was von vba-code erzählen?! aber ich starte ja eigentlich nur die pure abfrage?! noch kurz zur erklärung: ich soll diese vorhandene db modifizieren, da der ursprüngliche entwickler spontan nicht mehr zur verfügung steht.
die ursprüngliche abfrage, welche auch funktioniert, sah so aus:
SQL:
SELECT DISTINCTROW
tblRohrleitung.RohrleitungsID,
tblRohrleitung.LeitungsNrneu,
tblRohrleitung.Rohrleitungsbezeichnung,
tblRohrleitung.Medium,
tblRohrleitung.Von,
tblRohrleitung.Werkstoff,
tblRohrleitung.Nennweite,
tblRohrleitung.Nenndruck,
Format([tblRohrleitung.Nenndruck],"#,##0.00"" bar""") AS Nenndruckformatiert,
tblRohrleitung.ZulBetriebsüberdruck,
Format([tblRohrleitung.ZulBetriebsüberdruck],"#,##0.00"" bar""") AS ZulBetriebsüberdruckformatiert,
tblRohrleitung.ZulBetriebstemperatur,
Format([tblRohrleitung.ZulBetriebstemperatur],"#,##0.00"" °C""") AS ZulBetriebstemperaturformatiert,
tblRohrleitung.Arbeitsdruck,
Format([tblRohrleitung.Arbeitsdruck],"#,##0.00"" bar""") AS Arbeitsdruckformatiert,
tblRohrleitung.Arbeitstemperatur,
Format([tblRohrleitung.Arbeitstemperatur],"#,##0.00"" °C""") AS Arbeitstemperaturformatiert,
tblRohrleitung.VerordnungsID,
tblRohrleitung.Dämmung,
tblRohrleitung.Beheizung,
tblRohrleitung.Erdverlegung,
tblRohrleitung.AusserBetrieb,
tblRohrleitung.Sicherheitsrelevant,
tblRohrleitung.Baujahr,
tblRohrleitung.DatumPrüfvInbetrieb,
tblRohrleitung.MasterAnlage,
tblRohrleitung.Nach,
tblRohrleitung.Rohrbrückenverlauf,
tblRohrleitung.Baustützenbelegung,
Last(tblPrüfungen.DatumPrüf) AS LetzterWertvonDatumPrüf,
Max(tblPrüfungen.Prüfart) AS MaxvonPrüfart,
Last(tblPrüfungen.Revision) AS LetzterWertvonRevision,
Last(tblPrüfungen.GefordertePunkte) AS LetzterWertvonGefordertePunkte,
Last(tblPrüfungen.DatnPrüfung) AS LetzterWertvonDatnPrüfung,
Last(tblPrüfungen.ArtnPrüf) AS LetzterWertvonArtnPrüf,
Last(tblPrüfungen.VisMängelOffen) AS LetzterWertvonVisMängelOffen,
Last(tblPrüfungen.Sofortmaßnahmen) AS LetzterWertvonSofortmaßnahmen,
Last(tblPrüfungen.Eingabedatum) AS LetzterWertvonEingabedatum,
tblRohrleitung.GMACAD,
Last(tblPrüfungen.Schwachstellen) AS LetzterWertvonSchwachstellen
FROM
tblRohrleitung
LEFT JOIN
tblPrüfungen
ON
tblRohrleitung.RohrleitungsID = tblPrüfungen.RohrleitungsID
GROUP BY
tblRohrleitung.RohrleitungsID,
tblRohrleitung.LeitungsNrneu,
tblRohrleitung.Rohrleitungsbezeichnung,
tblRohrleitung.Medium,
tblRohrleitung.Von,
tblRohrleitung.Werkstoff,
tblRohrleitung.Nennweite,
tblRohrleitung.Nenndruck,
tblRohrleitung.ZulBetriebsüberdruck,
tblRohrleitung.ZulBetriebstemperatur,
tblRohrleitung.Arbeitsdruck,
tblRohrleitung.Arbeitstemperatur,
tblRohrleitung.VerordnungsID,
tblRohrleitung.Dämmung,
tblRohrleitung.Beheizung,
tblRohrleitung.Erdverlegung,
tblRohrleitung.AusserBetrieb,
tblRohrleitung.Sicherheitsrelevant,
tblRohrleitung.Baujahr,
tblRohrleitung.DatumPrüfvInbetrieb,
tblRohrleitung.MasterAnlage,
tblRohrleitung.Nach,
tblRohrleitung.Rohrbrückenverlauf,
tblRohrleitung.Baustützenbelegung,
tblRohrleitung.GMACAD
ORDER BY
tblRohrleitung.LeitungsNrneu;

Last edited: