ERLEDIGT
JA
JA
ANTWORTEN
2
2
ZUGRIFFE
1746
1746
EMPFEHLEN
-
hi leute,
ich bin immer noch dabei meine Bestandsdatenbank mit Visual C# 2010 Beta programmieren und steht vor einem weiteren Problem, bei dem mir auch keiner der Hieranwesenden oder Google helfen konnten.
und zwar habe ich eine MS Access Datenbank mit 2 Tabellen
TSMB und TLDB
In beiden Tabellen stehen fast gleiche Spalten, relevant für mein Problem sind die Spalten VOLUME_NAME und VOLTYPE.
Die TLDB-Tabelle ist die Tabelle aus der ich lese, bzw auch nur lesen kann, weils ein nicht-standardisierter ODBC-Treiber ist, der da die Verbindung zur Datenbank aufrecht erhält.
Aus jeden Fall muss ich bei einem bestimmten Event den VOLTYPE eines bestimmten Volumes aus der TLDB in die TSMB-Tabelle schreiben, nur will mir das leider nicht so gelingen.
Ich habe bereits gefühlte 100 verschiedene Update Befehle eingegeben aber nichts hat funktioniert.
Einige Versuche waren:
Code sql:1 2 3 4 5 6 7 8 9
UPDATE TSMB SET VOLTYPE (SELECT TLDB.VOLTYPE FROM TLDB WHERE TSMB.VOLUME_NAME = TLDB.VOLUME_NAME) UPDATE TSMB SET VOL_TYPE = TLDB.VOLTYPE WHERE TSMB.VOLUME_NAME = TLDB.VOLUME_NAME INSERT INTO TSMB (VOL_TYPE) SELECT TLDB.VOLTYPE FROM TLDB WHERE TSMB.VOLUME_NAME = TLDB.VOLUME_NAME
Das ganze mit Klammern ohne Klammern, mit zusätzlichen WHERE-Klauseln, aber immer krieg ich die Fehlermeldung:
Operation muss eine aktualisierbare Abfrage verwenden oder
Für mindestens einen erforderlichen Parameter wurde kein Wert angegeben.
Wie ihr sehr hab ich auch schon versucht einfach die ganze Spalte VOLTYPE aus TSMB zu updaten aber das funktioniert auch nicht.
Ich bin so gut wie fertig damit, aber das is echt ein wichtiger Wert, der auf keinen Fall in der Bestandsführung fehlen darf, da es um Magnetbänder für Datensicherungen geht. Hoffentlich könnt ihr mir vielleicht dabei helfen. Danke im Vorraus.Geändert von ash_ol (15.04.10 um 16:24 Uhr)
-
Code sql:
1 2 3
UPDATE TSMB SET VOLTYPE = (SELECT TLDB.VOLTYPE FROM TLDB WHERE TSMB.VOLUME_NAME = TLDB.VOLUME_NAME)
... sollte auch Access machen, sofern die Joinklausel genau einen record liefern.
Ansonsten kann man auch mit INNER JOIN updaten.
Code sql:1 2 3 4
UPDATE TSMB INNER JOIN TLDB SET TSMB.VOLTYPE =TLDB.VOLTYPE WHERE TSMB.VOLUME_NAME = TLDB.VOLUME_NAME
Grüße
gore
-
http://www.tutorials.de/forum/relati...subselect.html
Hat mir auch geholfen!
Ähnliche Themen
-
UPDATE funktioniert nicht
Von Voltex im Forum PHPAntworten: 7Letzter Beitrag: 23.01.09, 17:50 -
sql = 'UPDATE Funktioniert nicht
Von cris-the-best im Forum PHPAntworten: 3Letzter Beitrag: 11.10.07, 10:45 -
SQL UPDATE funktioniert nicht
Von Iceman8712 im Forum Relationale DatenbanksystemeAntworten: 8Letzter Beitrag: 30.01.07, 14:40 -
Access 2000 und UPDATE mit subselect
Von cika_miso im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 22.03.04, 13:12 -
SQL // Access'97 // Subselect mit Update
Von supersmu im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 10.12.03, 12:57





Zitieren
Login





