![]() |
fehlermeldung in der query...
Guten Morgen,
und da bin ich wieder mit meiner obligatorischen morgenfrage...:-) Ich bin dabei mehrere Textboxen über eine Query anzusprechen und dank Button in eine Datenbank zu schreiben...soweit so gut... nun bekomme ich allerdings schon bei der 2. Textbox die Fehlermeldung Adoquery1: Operation bei geschlossener Datenmenge nicht ausführbar nun meine frage an euch...woran könnte das liegen ???
Delphi-Quellcode:
bei der ersten box klappt das tadellos nur ei der 2. nicht mehr... :wall:
//----------erste Textbox--------------\\
if adoquery1.Locate('Versuchs_ID',tb_versuch_id.Text,[])then adoquery1.FieldByName('Versuchs_ID').AsString; with adoquery1 do begin close; sql.Clear; sql.Add('UPDATE dbo_Versuchsflaechen_ST'); sql.Add('SET Versuchs_ID =' + QuotedStr (tb_versuch_id.Text)); sql.Add('WHERE Versuchsfl_Bezeichnung =' + quotedstr(cbo_bezeichnung.Text)); //sql.Add('SELECT dbo_Versuchsflaechen_ST.Versuchs_ID,'); //sql.Add('dbo_Versuchsflaechen_ST.Versuchsfl_Bezeichnung, dbo_Versuchsflaechen_ST.Versuchs_ID'); //sql.Add('FROM dbo_Versuchsflaechen_ST'); //sql.Add('WHERE dbo_Versuchsflaechen_ST.Versuchsfl_Bezeichnung ='+ quotedstr(versflid)); //open; ExecSQL; end; while not adoquery1.Eof do begin adoquery1.Edit; adoquery1.FieldByName('Versuchs_ID').Asstring:=tb_versuch_id.Text; adoquery1.Post; tb_versuch_id.Clear; adoquery1.Next; end; //----------------zweite Textbox--------------\\ // Bei dieser if Anweisung springt er dann raus... if adoquery1.Locate('Behandlung',tb_behandlung.Text,[])then adoquery1.FieldByName('behandlung').AsString; with adoquery1 do begin close; sql.Clear; sql.Add('UPDATE dbo_Versuchsflaechen_ST'); sql.Add('SET Behandlung =' + QuotedStr (tb_behandlung.Text)); sql.Add('WHERE Versuchsfl_Bezeichnung =' + quotedstr(cbo_bezeichnung.Text)); //open; ExecSQL; end; while not adoquery1.Eof do begin adoquery1.Edit; adoquery1.FieldByName('Behandlung').Asstring:=tb_behandlung.Text; adoquery1.Post; tb_behandlung.Clear; adoquery1.Next; end; |
Re: fehlermeldung in der query...
Hai Sulustaner2004,
Zitat:
Ausserdem hast Du da echt böse fehler (ist nicht böse gemeint von mir!!). Beschreib doch mal am besten was Du machen möchtest. |
Re: fehlermeldung in der query...
Liste der Anhänge anzeigen (Anzahl: 1)
also ich muss für mein praktikum hier eine eingabemaske erstellen die auf eine datenbank zugreift...
das lesen der daten klappt ohne probleme nur eben das schreiben klappt nicht er springt wie gesagt nach der ersten textbox raus... ich gebe dir die form mal als bitmap mit...vieleicht kkannst du dir ja dann mal ein bild machen @ sharky und ich bin dir nicht böse wenn du sagst das ich fehler drin habe... :-) darum habe ich ja gefragt :-) [edit=Sharky]Bild als JPG angehängt. Ist doch etwas kleiner als deine 1.x MB Version ;-) Mfg, Sharky[/edit] sorry...könnte auf die schnelle keine jpg datei erzeugen.. :-) |
Re: fehlermeldung in der query...
Jetzt fehlt nur noch eine kleine Beschreibung was passieren soll.
Ich sehe dein Dropdown-Feld. Wofür ist dieses? Was hat es mit dem Feld "Versuchs_id" auf sich? |
Re: fehlermeldung in der query...
um ehrlich zu sein darf ich dir darüber nicht sonderlich viel erzählen...nur so viel...
mit dem drpdown feld werden versuchsflächen ausgeählt du bei der aktivierung der form dort reingeschreiben werden...unter jedem textfeld befindet sich ein label was die eventuell vorhandenen daten zu der versuchsfläche anzeigt... jetzt sollen in die textboxen neue daten eingetragen und dann in der datenbank gespeichert werden... das feld versuchs_id ist nur eine spalte in einer tabelle in der datenbank mit dem namen dbo_versuchsfleachen_ST |
Re: fehlermeldung in der query...
Delphi-Quellcode:
Steht das wirklich so in deinem Programm?
// Bei dieser if Anweisung springt er dann raus...
if adoquery1.Locate('Behandlung',tb_behandlung.Text,[])then adoquery1.FieldByName('behandlung').AsString; Ist zwar syntaktisch korrekt, deshalb schmeißt dein Compiler keine Fehlermeldung aber im Programmablauf gibt's dann ein Problem... Grüße Mikhal |
Re: fehlermeldung in der query...
ja, das steht wirklich so in meinem programm...
und wie gesagt, er macht es ja bei der ersten textbox... :? |
Re: fehlermeldung in der query...
Was funktionierte denn hiermit nicht? ->
![]() Du läuftst doch schon wieder in einer Schleife durch ein DataSet und änderst über Edit & Post. Wenn du die Where-Clause, die du für die Schleife benutzt einfach in einem UPDATE verwendest. Dann kannst du alle deine Werte auf einmal und mit einem Bruchteil an Code und Traffic in die DB schreiben (siehe dein anderer Thread in dem Link oben). Edit: früh-morgendliches-gichtfinger-tipp-syndrom :mrgreen: |
Re: fehlermeldung in der query...
Delphi-Quellcode:
Was soll denn das bringen? So wie es jetzt dort steht, suchst du via Locate nach einem Datensatz. Wenn du ihn gefunden hast, liest du ein Feld des Datensatzes aus, ohne es einer Variablen oder einem anderen Datenfeld zuzuweisen (also ein Aufruf einer Funktion, ohne das Ergebnis zu verwenden).
adoquery1.FieldByName('behandlung').AsString;
Danach änderst du ALLE Datensätze deiner Datenbank ab dem gefundenen Datensatz auf den Wert, der in der Textbox gefunden wird. Wenn Locate aber nichts findet, steht der Datenbank-Cursor immer noch an der Position, an der er stand, bevor du Locate aufgerufen hast. Das bedeutet, daß du im schlimmsten Fall wirklich ALLE Datensätze deiner Datenbank anpackst und änderst. Wenn dein Programm dann im zweiten Schritt bereits bei der IF-Anweisung einen Fehler produziert (du hast immer noch nicht geschrieben, welche Fehlermeldung du erhälst!) dann liegt es wahrscheinlich daran, daß entweder das Feld in der Datenbanktabelle nicht existiert (falsche Schreibweise) oder der Name des Textfeldes falsch ist. Es kann auch sein, daß die Zeichenkette zu lang ist und deshalb nicht in die Datenbank geschrieben werden kann... Grüße Mikhal |
Re: fehlermeldung in der query...
nun....das problem besteht ja auch darin das ich mit delphi nicht sonderlich bewandert bin... musste mir das was ich bis jetzt kann alles selber beibringen...und das in 2 monaten !! :-)
was mit deiner anweisung nicht funktioniert hat war das er mir incompatible typen angegeben hat... und zwar [Fehler] versuch2.pas(205): Inkompatible Typen: 'Variant' und 'Tversuch' und damit kann ich nichts anfangen... |
Re: fehlermeldung in der query...
@ mikhal
doch, habe die fehlermeldung schon mit reingeschreiben...steht ganz oben !!! |
Re: fehlermeldung in der query...
Yeap, hab ich übersehen...
Ich verwende grundsätzlich verschiedene TQueries um SELECT's und UPDATE's abzusetzen. Wenn ich mich Recht erinnere, wird eine mit Open geöffnete Query vor einem EXECSQL geschlossen... Grüße Mikhal |
Re: fehlermeldung in der query...
Zeige mal die Declarierung von TVersuch...
|
Re: fehlermeldung in der query...
Liste der Anhänge anzeigen (Anzahl: 1)
ich mache es am besten mal anders...ich gebe dir mal das ganze programm...dann kannst du mal nachsehen was mein problem ist...
bin ich kein delphi programmierer...mehr html oder vb !!! :-) kleiner hinweis noch...das programm besteht aus 2 formen...die erste heist dateneingabe und die unterform heißt versuch2 die erste musst du nicht beachten... :-) und daten2 auch nicht beachten...:-) |
Re: fehlermeldung in der query...
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe es eben mal auf die ganz schnelle & ganz dreckige "Quick 'n Dirty" - Art gemacht.
Mehr Zeit habe ich jetzt erstmal nicht. Ich hoffe es klappt (ungetestet!), wenn nicht vielleicht kannst du oder ein anderer DP'ler es ausbessern... |
Re: fehlermeldung in der query...
also erstmal herzlichsten dank für deine hilfe....
nur eine frage habe ich noch...ich kann mit diesem fieldnames nichts anfangen... wo ist das denn deklariert @ GeorgeWNewbie ??? |
Re: fehlermeldung in der query...
Unter Private des Forms.
Kann sein, dass du es umbenennen musst -> in einem "With ADOQuery1"-Block könnte es ja auch FieldNames geben (nämlich ADOQuery1.FieldNames :oops:) |
Re: fehlermeldung in der query...
ich danke auch und vor allem dir GeorgeWNewbie für eure hilfe...
die kleinen fehler die jetzt noch drin sind bekomm ich schon raus !! :-) jedenfalls herzlichen dank und ein schönes we... :dp: |
Re: fehlermeldung in der query...
Guten morgen....vieleicht kann mir einer von euch helfen....
ich habe am freitag von Robert_G eine überarbeite quellcode datei bekommen...jetzt habe ich ein problem..ich kann mit einigen seiner bezeichnungen nichts anfangen... bekomme nur fehlermeldungen... z.b. [Fehler] versuch2.pas(229): Inkompatible Typen: 'String' und 'Integer' [Fehler] versuch2.pas(262): Undefinierter Bezeichner: 'FieldNames' [Fehler] versuch2.pas(275): Anweisung erforderlich, aber Ausdruck vom Typ 'String' gefunden [Fehler] versuch2.pas(288): Deklaration erwartet, aber Dateiende gefunden ich habe alles versucht...aber irgendwie klappt nichts... würde mich freuen wenn ihr mir helfen könntet... |
Re: fehlermeldung in der query...
HI!
Ohne die betreffenden Code-Zeilen lässt sich leider nur wenig sagen. Was den ersten Fehler angeht: Du gibst ihm einen String und er will einen Integer (oder umgekehrt, bin grad verwirrt, sorry) Guck mal nach inttostr und strtoint Ciao fkerber |
Re: fehlermeldung in der query...
also die datei befindet sich auf seite 1 dieses beitrages...
und ist von robert_g.... :oops: |
Re: fehlermeldung in der query...
Hi!
Also von hinten nach vorne :lol: am Ende fehlt ein
Delphi-Quellcode:
Was den Fehler in 275 angeht:
end.
Delphi-Quellcode:
Du hast da hinter dem Begin einfach so nen String stehen. Du musst den String schon irgendeiner Variable zuweisen. Ich kenne mich leider nicht mit ADOQuery aus, aber wie gesagt, irgendwas muss dieser String zugewiesen werden:
Begin
'Update dbo_Versuchsflaechen_ST t' + #10 + 'Set ' + SetStr + #10 + 'WHERE t.Versuchsfl_Bezeichnung = :i_Versuch';
Delphi-Quellcode:
Was den Fieldnames-Fehler angeht, habe ich leider keine Ahnung, weil ich nicht so ganz durchschaue, was da geschieht.
variable:='string';
Bzgl. des ersten Fehlers: Probiers mal so:
Delphi-Quellcode:
Hoffe, das hilft.
TLabel(FindComponent('label' + IntToStr(i + 29))).Caption := FieldValues[i].Value;
Ciao fkerber |
Re: fehlermeldung in der query...
also alles in allem klappt das nicht so @ fkerber
er hat irgendwelche probleme...wenn ich intostr setze stört ihn die vorschleife und danach der selbe fehler wieder... ich poste nochmal den gesamten quellcode...
Delphi-Quellcode:
bin langsam wirklich am verzweifeln... :wall:... PRIVATE { Private-Deklarationen } FieldList, CompNames: TStringList; PUBLIC { Public-Deklarationen } End; Var versuch : Tversuch; Implementation //uses form1; {$R *.dfm} // Zum füllen der combobox cbo_bezeichnung Procedure TVersuch.FormCreate(Sender: TObject); Begin FieldList := TStringList.Create; CompNames := TStringList.Create; // Für jedes Feld (FieldList) gibt es ein TEdit (CompNames) With adoquery1 Do Begin sql.Add('BEHANDLUNG'); sql.Add('VERSUCHSFL_NR_WW'); sql.Add('ANLAGEJAHR'); sql.add('FLAECHENGROESSE'); sql.Add('FLAECHENFORM'); sql.Add('FOWUGEB'); sql.Add('FOWUBEZ'); sql.Add('MAKROKLIMA'); sql.Add('KLIMASTUFE'); sql.Add('BOART'); sql.Add('LOBOFORM'); sql.Add('HUFORM'); sql.Add('BOTYP'); sql.Add('NKS'); sql.Add('HOEHE_NN'); sql.Add('HANG_N'); sql.Add('HANG_R'); sql.Add('BA_M'); sql.Add('HERKUNFT'); End; With CompNames Do Begin Add('TB_BEHANDLUNG'); Add('TB_VFL_NR_WW'); Add('TB_JAHR'); Add('TB_GROESSE'); Add('TB_FORM'); Add('TB_FOW1'); Add('TB_FOW2'); Add('TB_MAKRO'); Add('TB_KLIMA'); Add('TB_BO'); Add('TB_LOBO'); Add('TB_HU'); Add('TB_BOTYP'); Add('TB_NKS'); Add('TB_HOEHE'); Add('TB_HANG_N'); Add('TB_HANG_R'); Add('TB_BA'); Add('TB_HERKUNFT'); End; With ADOQuery1 Do Begin SQL.Text := 'SELECT dbo_VF.Versuchsfl_Bezeichnung' + #10 + 'FROM (dbo_Versuch_ST dbo_V Inner Join dbo_Versuchsflaechen_ST dbo_VF On' + #10 + ' dbo_V.Versuchs_ID = dbo_VF.Versuchs_ID)' + #10 + //'INNER JOIN Koordinaten_ST ON dbo_VF.Versuchsfl_ID = Koordinaten_ST.Versuchsfl_ID' + #10 + //'WHERE (((dbo_VF.Versuchsfl_Bezeichnung)))' + #10 + 'ORDER By dbo_VF.Versuchsfl_Bezeichnung;'; Open; While Not Eof Do Begin cbo_bezeichnung.Items.Add(FieldByName('Versuchsfl_Bezeichnung').asString); Next; End; End; End; //zum füllen der labels Procedure TVersuch.CBO_BezeichnungChange(Sender: TObject); Var Versuch : String; i : String; Begin If cbo_bezeichnung.Text <> '' Then Begin versuch := cbo_bezeichnung.Text; label30.Caption := ''; label31.Caption := ''; With ADOQuery1 Do Begin SQL.Text := 'SELECT dbo_VF.Versuchsfl_ID,' + #10 + ' dbo_VF.Versuchsfl_Bezeichnung,' + #10 + ' dbo_VF.Versuchs_ID,' + #10 + ' dbo_VF.Behandlung,' + #10 + ' dbo_VF.Versuchsfl_nr_WW,' + #10 + ' dbo_VF.Versuchsfl_nr_Hass,' + #10 + ' dbo_VF.AnlageJahr,' + #10 + ' dbo_VF.Flaechengroesse,' + #10 + ' dbo_VF.Flaechenform,' + #10 + ' dbo_VF.FOWUGEB,' + #10 + ' dbo_VF.FOWUBEZ,' + #10 + ' dbo_VF.MAKROKLIMA,' + #10 + ' dbo_VF.KLIMASTUFE,' + #10 + ' dbo_VF.BOART,' + #10 + ' dbo_VF.LOBOFORM,' + #10 + ' dbo_VF.HUFORM,' + #10 + ' dbo_VF.BOTYP,' + #10 + ' dbo_VF.NKS,' + #10 + ' dbo_VF.Hoehe_NN,' + #10 + ' dbo_VF.HANG_N,' + #10 + ' dbo_VF.HANG_R,' + #10 + ' dbo_VF.BA_M,' + #10 + ' dbo_VF.Herkunft' + #10 + 'FROM dbo_Versuchsflaechen_ST dbo_VF' + #10 + 'WHERE dbo_VF.Versuchsfl_Bezeichnung = :i_Versuch' + #10 + 'ORDER By dbo_VF.Versuchsfl_Bezeichnung'; Prepared := True; Parameters.ParamByName('i_Versuch').Value := CBO_Bezeichnung.Text; Open; // Ab der 3. Spalte beginnen die Werte, die in den Labels dargestellt werden sollen... If Not Eof Then For i := 2 To pred(FieldCount) Do Begin TLabel(FindComponent('label' + IntToStr((i + 29)))).Caption := FieldValues[i].Value; End; End; End; End; Procedure TVersuch.cb_ExitClick(Sender: TObject); Begin Close; End; Procedure TVersuch.CB_TakeClick(Sender: TObject); Var versflid, SetStr : String; ProcessedRecs, i, SetCount : Integer; SetVals : Array Of String; Begin versflid := ADOQuery1.FieldByName('versuchs_id').asString; If (tb_versuch_id.Text = '') Then ShowMessage('Bitte was eintragen.'); SetCount := 0; // Arraylänge auf ANzahl der TEdits SetLength(SetVals, CompNames.Count); For i := 0 To pred(CompNames.Count) Do Begin With FindComponent(CompNames[i]) As TEdit Do If Text <> '' Then Begin // Wenn Edit <> '' -> Wert in den Array & Spalte kommt mit in die SET-Clause... SetVals[SetCount] := Text; SetStr := SetStr + ',' + #10 + ' ' + FieldNames[i] + ' = :' + 'i_F' + IntToStr(SetCount); inc(SetCount); End; End; // Entferne erstes Komma & Leerzeichen SetStr := Copy(SetStr, 10, Length(SetStr)); // Wenn SetStr beschrieben wurde -> baue UPDATE-Statement... If SetStr <> '' Then Begin With ADOQuery1 Do Begin 'Update dbo_Versuchsflaechen_ST t' + #10 + 'Set ' + SetStr + #10 + 'WHERE t.Versuchsfl_Bezeichnung = :i_Versuch'; Prepared := True; // Werte der Paramter :i_F(1 - ...) For i := 0 To pred(SetCount) Do Parameters.ParamByName('i_F' + IntToStr(i)).Value := SetVals[i]; // Ausführen ExecSQL; End; End; End; end. |
Re: fehlermeldung in der query...
Hi!
So wie ich das sehe sind die Fehler immer noch drin. Die Sache mit dem String bei der ADO-Query z.B. Und was das mit dem InttoStr beim FindComponent angeht, dann schau mal in der Hilfe nach. Du musst zumindest versuchen meine Lösungsansätze nachzuvollziehen und nicht nur sagen, es geht nicht. Ciao fkerber |
Re: fehlermeldung in der query...
:wall: wie gesagt, ich hatte das Ding auf die Schnelle runtergehackt.
Natürlich ist das 'UPDATE... reinster Schwachfug... :oops: Es sollte so aussehen:
Delphi-Quellcode:
Begin
With ADOQuery1 Do Begin SQL.Text := 'Update dbo_Versuchsflaechen_ST t' + #10 + 'Set ' + SetStr + #10 + 'WHERE t.Versuchsfl_Bezeichnung = :i_Versuch'; Prepared := True; // Werte der Paramter :i_F(1 - ...) For i := 0 To pred(SetCount) Do Parameters.ParamByName('i_F' + IntToStr(i)).Value := SetVals[i]; // Ausführen ExecSQL; End; |
Re: fehlermeldung in der query...
danke dir...
das habe ich inzwischen auch gesehen gehabt !! :-) aber trotzdem habe ich noch andere fehler die ich nicht sehe...einmal der
Delphi-Quellcode:
mit der fehlermeldung
For i := 2 To pred(FieldCount) Do
[Fehler] versuch2.pas(227): FOR-Schleifenvariable muss von ordinalem Typ sein der
Delphi-Quellcode:
mit der fehlermeldung
TLabel(FindComponent('label' + IntToStr((i + 29)))).Caption := FieldValues[i].Value;
[Fehler] versuch2.pas(229): Inkompatible Typen: 'String' und 'Integer' und der
Delphi-Quellcode:
mit der fehlermeldung
SetStr := SetStr + ',' + #10 + ' ' + FieldNames[i] + ' = :' + 'i_F' + IntToStr(SetCount);
[Fehler] versuch2.pas(262): Undefinierter Bezeichner: 'FieldNames' |
Re: fehlermeldung in der query...
Liste der Anhänge anzeigen (Anzahl: 1)
"i" ist in dem von mir geposteten Code Integer.
Und nimm anstatt FieldNames die StringList FieldList, die unter private deklariert wurde... Nachtrag: Du solltest am Besten einfach meinen Code nehmen und den Bug bei 'UPDATE... beheben. Du hast nämlich noch eine Menge mehr Fehler eingebaut... [edit=Sharky]Doppelpostin auf wunsch gelöscht. Mfg, Sharky[/edit] |
Re: fehlermeldung in der query...
ok...soweit geht es...nur mir der zeile
Delphi-Quellcode:
hat er noch seine probleme...
TLabel(FindComponent('label' + strtoint((i + 29)))).Caption := FieldValues[i].Value;
er sagt dann immer [Fehler] versuch2.pas(229): Inkompatible Typen: 'String' und 'Integer' und
Delphi-Quellcode:
dort sagt er
With adoquery1 Do
Begin Add('BEHANDLUNG'); Add('VERSUCHSFL_NR_WW'); Add('ANLAGEJAHR'); Add('FLAECHENGROESSE'); Add('FLAECHENFORM'); Add('FOWUGEB'); Add('FOWUBEZ'); Add('MAKROKLIMA'); Add('KLIMASTUFE'); Add('BOART'); Add('LOBOFORM'); Add('HUFORM'); Add('BOTYP'); Add('NKS'); Add('HOEHE_NN'); Add('HANG_N'); Add('HANG_R'); Add('BA_M'); Add('HERKUNFT'); End; With CompNames Do Begin Add('TB_BEHANDLUNG'); Add('TB_VFL_NR_WW'); Add('TB_JAHR'); Add('TB_GROESSE'); Add('TB_FORM'); Add('TB_FOW1'); Add('TB_FOW2'); Add('TB_MAKRO'); Add('TB_KLIMA'); Add('TB_BO'); Add('TB_LOBO'); Add('TB_HU'); Add('TB_BOTYP'); Add('TB_NKS'); Add('TB_HOEHE'); Add('TB_HANG_N'); Add('TB_HANG_R'); Add('TB_BA'); Add('TB_HERKUNFT'); End; [Fehler] versuch2.pas(120): Undefinierter Bezeichner: 'Add' also entweder ich bin zu bl.. oder einfach noch nicht wach... |
Re: fehlermeldung in der query...
Ist I immer noch String?
|
Re: fehlermeldung in der query...
ja...i ist für ihn immer noch string !!!
|
Re: fehlermeldung in der query...
:wall: ich glaube dieses FieldValues[i] an besagter Stelle muss mit Fields[i].asString erstzt werden.
|
Re: fehlermeldung in der query...
ok..das klappt...nur das mit dem undefinierten bezeichner klappt noch nicht !!!
ich merke schon..ich bleibe definitiv bei vb!!! :-) |
Re: fehlermeldung in der query...
Hast du dir den Code von Hheute gesaugt, oder benutzt du noch deine veränderte Variante?
Wie ich bereits geschrieben habe: UnterPRIVATE ist nicht FieldNames, sondern FieldList deklariert (hatte ich beim tippen verwechselt). Wenn du das benutzt sollte es kompiliert werden können. p.s.: Da es gerade noch Montag nacht ist kannst du von mir aber noch keine geistigen Höhenflüge erwarten :mrgreen: Nachtrag: Versuche sowas in VB und du wirst merken, dass du für hyperprimitive Dinge ein/zwei Zeilen Code hast. Für alles was komplizierter wird bist, du dann nur mit unübersichtlichen Workarounds beschäftigt. Außerdem ist das einfach keine Programmiersprache. :zwinker: |
Re: fehlermeldung in der query...
ich habe den code von heute gesaugt !!! und es klappt jetzt alles !!!
danke dir für deine wirklich sehr sehr große hilfe !!! :-) ich kann dank eurer hilfe jetzt wieder weiter machen !!! :-) |
Re: fehlermeldung in der query...
Nachtrag
müsste er nicht eigentlich alles speichern ??? irgendwie lässt er die zeile versuchs_id aus... |
Re: fehlermeldung in der query...
Ich hatte mich da an deine Vorlage gehalten.
Eigentlich wird ja auch nur ein Update ausgeführt. Es werden keine neuen Datensätze angelegt! Warum sollte man den die VersuchsID ändern (ist die nicht der prim. Schlüssel :gruebel: )! Ich bin gerade etwas im Stress, in etwa 30 - 40 min schaue ich mir das nochmal an, damit auch Datensätze angelegt werden, wenn es die VersuchsID noch nicht gibt. |
Re: fehlermeldung in der query...
nein...die versuchs_id ist nicht der primärschlüssel...den beachte ich eigentlich garnicht !!!
die versuchsfl_bezeichnung ist das 4. feld und dann kommt die versuchs_id das lustige ist ja...als erstes hat er sich ja gespeichert !!! :-) |
Re: fehlermeldung in der query...
Na dann füge doch im OnCreate des Forms "VERSUCHS_ID" an die FieldList und das dazugehörige Edit and die CompNames an.
Die Schleife im OnClick müsste dann auch die VersuchsID berücksichtigen. |
Re: fehlermeldung in der query...
ok...jetzt funktioniert es alles.. :-) danke vielmals... :-)
|
Re: fehlermeldung in der query...
guten morgen...
habe mal eine frage zu der sqlanweisung die du mir geschrieben hast @ Robert_g und zwar kann ich damit nichts anfangen...
Delphi-Quellcode:
wäre für eine antwort sehr dankbar...
With ADOQuery1 Do
Begin SQL.Text := 'SELECT dbo_VF.Versuchsfl_Bezeichnung' + #10 + //was hat dieses VF zu bedeuten ??? 'FROM (dbo_Versuch_ST dbo_V Inner Join dbo_Versuchsflaechen_ST dbo_VF On' + #10 + ' dbo_V.Versuchs_ID = dbo_VF.Versuchs_ID)' + #10 + //'INNER JOIN Koordinaten_ST ON dbo_VF.Versuchsfl_ID = Koordinaten_ST.Versuchsfl_ID' + #10 + //'WHERE (((dbo_VF.Versuchsfl_Bezeichnung)))' + #10 + 'ORDER By dbo_VF.Versuchsfl_Bezeichnung;'; Open; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:28 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz