Der folgende Beitrag wurde am 26. 08. 2004, 15:44 Uhr von small-step veröffentlicht.
Hallo alle,
ich habe ein kleines Problem. Ich möchte in einer Tabelle eine Spalte updaten. Allerdings nur, wenn dieser Eintrag zu einem bestimmten Eintrag in einer anderen Tabelle gehört. Klingt jetzt ein wenig seltsam, ich weiß nicht genau, wie ich die Beziehungen sonst darstellen soll, aber ein Beispiel:
Aktualisiert werden soll die Rechnungsnummer in der Tabelle Arbeitszeit bei den Einträgen, die über die Tabelle Projektliste mit einem Eintrag der Tabelle Projekte verknüpft sind. Ich habe es mit etwas in dieser Art versucht
UPDATE tbArbeitszeit
(INNER JOIN tbProjektliste
ON tbProjekte.PKProjekt = tbProjektliste.FKProjekt)
INNER JOIN tbArbeitszeit
ON tbProjektliste.PKProjektliste = tbArbeitszeit.FKProjektliste
SET tbArbeitszeit.Rechnung = '4-1093534116'
WHERE tbProjekte.PKProjekt = 4
Allerdings scheine ich einen Syntaxfehler eingearbeitet zu haben.
Kann, mag mir jemand helfen? :-)
Danke schonmal!
small-step
Der folgende Beitrag wurde am 26. 08. 2004, 19:13 Uhr von Martin Speiser veröffentlicht.
Hi small-step,
also ich muss zugeben, Access kenne ich nicht, aber SQL-Server. Aber aus deinem Statement werde ich nicht so recht schlau. Du machst Bedingungen auf tbProjekte, machst aber keinen JOIN darauf, und machst sogar ne Bedingung auf die Tabelle zweimal?
Generell sieht's bei SQL-Server so aus:
UPDATE <tabelle>
SET <Feld>=<Wert>
INNER JOIN <zweite Tabelle>
ON <Bedingung>
WHERE <Bedingung>
Ist nur skizzenhaft natürlich, das komplette findest du in der Hilfe.
Gruß,
Martin
Der folgende Beitrag wurde am 26. 08. 2004, 23:29 Uhr von Vinzenz veröffentlicht.
Hallo small-step,
> Aktualisiert werden soll die Rechnungsnummer in der Tabelle Arbeitszeit bei den Einträgen, die über die Tabelle Projektliste mit einem Eintrag der Tabelle Projekte verknüpft sind. Ich habe es mit etwas in dieser Art versucht
Verstehe ich das richtig:
Du hast drei Tabellen
tbArbeitszeit
FKProjektliste
Rechnung
[...]
tbProjekte
PKProjekt
[...]
tbProjektliste
FKProjekt
PKProjektliste
[...]
und folgenden Beziehungen:
tbProjekte 1:n tbProjektliste (d.h. zu einem Projekt können mehrere Projektlisten gehören)
tbProjektliste 1:n tbArbeitszeit (d.h. zu jeder Projektliste können mehrere Arbeitszeiten)
>
> UPDATE tbArbeitszeit
> (INNER JOIN tbProjektliste
> ON tbProjekte.PKProjekt = tbProjektliste.FKProjekt)
> INNER JOIN tbArbeitszeit
> ON tbProjektliste.PKProjektliste = tbArbeitszeit.FKProjektliste
> SET tbArbeitszeit.Rechnung = '4-1093534116'
> WHERE tbProjekte.PKProjekt = 4
>
> Allerdings scheine ich einen Syntaxfehler eingearbeitet zu haben.
Dann machst Du Dir die Arbeit viel zu kompliziert:
UPDATE tbArbeitszeit a
INNER JOIN tbProjektliste pl ON a.FKProjektliste = pl.PKProjektliste
SET a.Rechnung = '4-1093534116'
WHERE pl.FKProjekt = 4
sollte es tun.
Freundliche Grüsse,
Vinzenz
Der folgende Beitrag wurde am 27. 08. 2004, 08:39 Uhr von small-step veröffentlicht.
Hallo Vinzenz,
> Dann machst Du Dir die Arbeit viel zu kompliziert:
Ach du Schande, das ist mir überhaupt nicht aufgefallen... wie peinlich. Ich probier es gleich aus. Dankeschön schonmal für die Hilfe!
Gruß,
small-step
Der folgende Beitrag wurde am 27. 08. 2004, 08:47 Uhr von small-step veröffentlicht.
Hallo an alle!
Danke für die Hilfe, mit der von Vinzenz hat es funktioniert. Möglicherweise sollte ich mich mit joins mal etwas genauer befassen.
Ich wünschte, Access wäre ähnlich dokumentiert wie MySQL. Oder gibt es etwas, das ich nicht kenne? Los, raus mit den Links! :)
Gruß,
small-step
Der folgende Beitrag wurde am 27. 08. 2004, 13:33 Uhr von Martin Speiser veröffentlicht.
Hi,
> Ich wünschte, Access wäre ähnlich dokumentiert wie MySQL. Oder gibt es etwas, das ich nicht kenne? Los, raus mit den Links! :)
ich finde, die MSDN ist die beste Doku die es gibt. Direkteinsprung zu Access: http://msdn.microsoft.com/library/en-us/dnanchor/html/odc_ancaccess.asp
Gruß,
Martin
Der folgende Beitrag wurde am 27. 08. 2004, 14:02 Uhr von small-step veröffentlicht.
Hallo Martin,
> ich finde, die MSDN ist die beste Doku die es gibt. Direkteinsprung zu Access: http://msdn.microsoft.com/library/en-us/dnanchor/html/odc_ancaccess.asp
Hm... ich weiß nicht. Entweder ich bin zu blöd mit der MSDN zurechtzukommen, oder sie ist der letzte Dreck. Um Dich glücklich zu machen vermute ich jetzt einfach mal ersteres :)
Ich will eine so wunderbare Referenz wie auf http://www.php.net/manual/de/ mit den wirklich nützlichen Beispielen oder auf http://dev.mysql.com/doc/mysql/de/index.html. Es muss ja nicht auf Deutsch sein. Wäre zwar nicht schlecht, geht aber auch so. Wo ist denn die MSDN bitte derart umfangreich, übersichtlich und vor allem vollständig? Wahrscheinlich bin ich wirklich zu blöd.
Gruß,
small-step
Der folgende Beitrag wurde am 31. 08. 2004, 10:16 Uhr von small-step veröffentlicht.
Hallo alle!
> Ich will eine so wunderbare Referenz wie auf http://www.php.net/manual/de/ mit den wirklich nützlichen Beispielen oder auf http://dev.mysql.com/doc/mysql/de/index.html. Es muss ja nicht auf Deutsch sein. Wäre zwar nicht schlecht, geht aber auch so. Wo ist denn die MSDN bitte derart umfangreich, übersichtlich und vor allem vollständig? Wahrscheinlich bin ich wirklich zu blöd.
Ach kommt schon... es wird doch jemanden hier geben, der eine bessere Doku kennt, oder?
Gruß,
small-step
© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4