gerold hat geschrieben:Hi stigi!
--->>> IrgendeinFeld <<<--- ???
Hast du das durch einen real **existierenden** Feldnamen ausgetauscht?
mfg
Gerold
PS: Die Fehlermeldungen beim ODBC von pywin32 können täuschen...



gerold hat geschrieben:Hi stigi!
--->>> IrgendeinFeld <<<--- ???
Hast du das durch einen real **existierenden** Feldnamen ausgetauscht?
mfg
Gerold
PS: Die Fehlermeldungen beim ODBC von pywin32 können täuschen...
Code: Alles auswählen
import dbi
import odbc
conn = odbc.odbc('DRIVER=Microsoft Access-Treiber (*.mdb);UID=admin;DBQ=C:\\temp\\T100_V46.mdb')
cur = conn.cursor()
sql = "SELECT DISTINCT PA_INFO, PA_INFO_TEXTNR, TEX_AUSGABE FROM Regel20, TEXTE WHERE REGEL20.PA_INFO_TEXTNR = TEXTE.TEX_NUMMER and TEXTE.TEX_SPRACHE ='deu' and REGEL20.PA_INFO <> TEXTE.TEX_AUSGABE" #where PA_INFO like '%Runden%'
cur.execute(sql)
rows = cur.fetchall()
cur.close()
conn.close()
for row in rows:
# row[0], fuer das erste Element in der SQL anweisung, row[1] fuer das zweite usw...
string1 = row[0]
string2 = row[2]
print string1
print row[1]
print string2
print
Code: Alles auswählen
UPDATE REGEL20
SET PA_INFO =string2 #wie mach ich das, damit der inhalt von string2 verwendet wird?
WHERE string1 <> string2
Code: Alles auswählen
cur.execute(dein_sql_code)
Code: Alles auswählen
import dbi
import odbc
conn = odbc.odbc('DRIVER=Microsoft Access-Treiber (*.mdb);UID=admin;DBQ=C:\\temp\\T100_V46.mdb')
cur = conn.cursor()
sql = "SELECT DISTINCT PA_INFO, PA_INFO_TEXTNR, TEX_AUSGABE FROM Regel20, TEXTE WHERE REGEL20.PA_INFO_TEXTNR = TEXTE.TEX_NUMMER and TEXTE.TEX_SPRACHE ='deu' and REGEL20.PA_INFO <> TEXTE.TEX_AUSGABE" #where PA_INFO like '%Runden%'
cur.execute(sql)
rows = cur.fetchall()
for row in rows:
# row[0], fuer das erste Element in der SQL anweisung, row[1] fuer das zweite usw...
string1 = row[0]
string2 = row[2]
print string1
print row[1]
print string2
print
cur.execute("UPDATE REGEL20 SET PA_INFO =string2 WHERE string1 <> string2")
cur.close()
conn.close()
Wie man in Python Strings zusammensetzt weißt Du? Ansonsten bitte mal ein Anfänger-Tutorial durcharbeiten! Danke!Und ausserdem hatte ich gefragt wie ich den Inhalt von der variablen string2 in meiner SQL anweisung benutzen kann.
Und darauf hat Leonidas Dir einwandfrei geantwortet.wie bind ich das jetzt noch in mein python code oben ein?
Wir sind hier in einem öffentlichen Forum, in dem User anderen Usern *kostenlos* Hilfe zur Selbsthilfe anbieten, während Dein Lehrer erstens dafür bezahlt wird und zweitens sich nicht wundern muss, dass Du nichts lernst, wenn er Dir die Lösungen vorkaut.stigi hat geschrieben:unglaublich, wo sind wir denn hier? wenn ich in der schule meinen lehrer nach was frag wie etwas funktioniert dann sagt der mir doch auch nicht ich soll das und das lesen, sondern erklärt es mir.
Hi!stigi hat geschrieben:unglaublich, wo sind wir denn hier? wenn ich in der schule meinen lehrer nach was frag wie etwas funktioniert dann sagt der mir doch auch nicht ich soll das und das lesen, sondern erklärt es mir.
Schon mal überlegt, das dein Lehrer dafür bezahlt wird? Es ist sein Job es dir zu erklären!stigi hat geschrieben:unglaublich, wo sind wir denn hier? wenn ich in der schule meinen lehrer nach was frag wie etwas funktioniert dann sagt der mir doch auch nicht ich soll das und das lesen, sondern erklärt es mir.
Und woran lag es denn jetzt?stigi hat geschrieben:funktioniert jetzt.
Dann stell die fragen auch sinnvoll. Wenn du so eine Frage, stellts wie, wie kann ich meinen String ausführen, finde ich meine Antwort hilfreich, weil ich dein Problem nicht verstanden habe. Wenn du meinst, dass du String-Formattiertung verstanden hast, und SQL-Statements absetzen kannst, dann verstehe ich, ähnlich wie N317V nicht, wo genau nun dein problem liegt. Du setzt die Variablen in String ein. Was hätte man erklären müssen?stigi hat geschrieben:klar müsst ihr mir nicht helfen, aber anstatt mir irgendwelche sachen hinzuklatschen mit denen ich eh nix anfangen kann wärs meines erachtens sinnvoller gar nichts zu schreiben oder etwas das mich weiterbringt.
Eigentlich denke ich, dass du mit der Diskussion angefangen hast, über die Qualität der Antworten zu meckern. Wer meckert braucht sich nicht wundern wenn zurückgemeckert wird.stigi hat geschrieben:ich warte jetzt seit heut morgen auf ne hilfreiche antwort, bin aber nur dabei rumzudisktutieren und mich zu rechtfertigen.
Passt schon, wunderbar. Nur steht das was zu fragst in vielen Tutorials und auch im Forum ist das Thema häufig diskutiert worden.stigi hat geschrieben:was soll ich denn noch anderes machen als tutorials durcharbeiten und sachen zu lesen?
Ich hoffe meinerseits auf präzise Fragen und Verständniss, wenn meine Antworten nicht ganz das sind was du suchst.stigi hat geschrieben:... wenn ich nicht weiter komme dann frag ich eben danach wies weitergeht und hoffe auf ne qualifizierte antwort...
Das Forum ist - ganz recht - dazu da, Leuten zu helfen. Wenn du fühlst, dass dir nicht geholfen wirst, dann tut es mir leid, denn die meisten User waren recht zufrieden. In diesem Fall kann ich dich auch auf die deutsche Mailingliste oder Newsgroup verweisen, vielleicht findest du dass du dort bessere Hilfe bekommst.stigi hat geschrieben:anstattdessen bekomm ich belehrungen das man mir ja nicht helfen muss. wozu ist denn das forum denn dann da möcht ich gern mal wissen.
Denn man fängt ja auch erst klein an. Rom wurde nicht an einem Tag erbaut (oder wie ging das Sprichwort nochmal?). Danach arbeitet man sich langsam vor. Wenn du weißt, wie man SQL-Statements absetzt und Strings verkettet, sollte das doch für dich kein Problem sein.stigi hat geschrieben:wenn euer auto kaputt is oder sonst irgendwas und ihr müsst es selbst wieder in schuss bringen und euch sagt jemand die nockenwelle ist defekt tausch sie aus, wisst ihr zwar was ihr machen sollt aber habt keine ahnung wie. und so gehts mir auch. da kannste nochsoviele anleitungen und kruscht durchlesen und man bekommts trotzdem nicht hin...
Code: Alles auswählen
cur.execute("UPDATE REGEL20 SET PA_INFO = '" + string2 + "' WHERE '" + string1 + "' <> '" + string2 + "'")
nochmal zu meiner fragestellung. wie hätte ich es denn sonst formulieren sollen, damit es eine sinnvolle frage gewesen wäre?stigi hat geschrieben:........Code: Alles auswählen
UPDATE REGEL20 SET PA_INFO =string2 #wie mach ich das, damit der inhalt von string2 verwendet wird? WHERE string1 <> string2
Kann passieren. Von mir aus kein Thema.stigi hat geschrieben:war gestern einfach nicht mein tag, ging mir gestern alles gegen den strich...sorry
Code: Alles auswählen
cur.execute("UPDATE REGEL20 SET PA_INFO = '%s' WHERE '%s' <> '%s'" % (string2, string1, string2))
Genau das wurde Dir ja schon von Gerold prophezeit. Darum war das Problem aus unserer Sicht gelöst. Ist auch kein Thema, wenn Du mit etwas Simplen, wie dem zusammensetzten von Strings, Schwierigkeiten hast. Generell ist das aber eine Frage, die in allen Anfänger-Tutorials beantwortet wird. Wenn Du damit trotzdem Probleme hast, probier einfach rum, wie Du es meinst, poste den Code, damit wir sehen können, dass Du Dich auch selbst damit befasst hast und ich bin sicher, dass sich hier jederzeit jemand findet, der Dir hilft. Sicher hattest Du Deinen Code nochmal gepostet, aber keinen, der zur Frage passt. Das legt dann immer die Vermutung nahe, derjenige wolle eine Lösung vorgekaut bekommen. Der Lerneffekt ist für Dich auch viel größer. Oft ist es ja gerade bei Anfängern nur eine Kleinigkeit, die nicht stimmt. Ein vergessenes Komma oder so.stigi hat geschrieben: dadurch hat sich die sache mit den zu wenigen Parametern auch erledigt gehabt.