Entwickler-Ecke
Datenbanken - Prüfung zweier Datensätze prüfen und Panel visible setzen
Roy - Mo 18.01.16 16:21
Titel: Prüfung zweier Datensätze prüfen und Panel visible setzen
Hallo Freunde,
mal wieder eine Frage von mir:
Ich arbeite in meinem Tool mit Access und somit auch DBEdit Komponenten. Ich möchte nun wenn DBEdit1= Edit ist ein Panel anzeigen lassen
Zbs. Hallo Freunde,
Delphi-Quelltext
1: 2: 3: 4: 5:
| procedure TForm1.Button1Click(Sender: TObject); begin if Edit1.text = DBEdit1.Text then Panel1.Visible:= true; end; |
Funktioniert aber nicht
Kann mir jemand helfen?
Moderiert von Martok: Delphi-Tags hinzugefügt
baumina - Mo 18.01.16 16:39
Greife nicht auf die DBEdit zu, sondern auf die Daten der Tabelle.
Delphi-Quelltext
1:
| if DBTable.FieldByName('EinFeld').AsString = Edit1.Text |
tomte - Mo 18.01.16 16:51
Versuch es mal mit:
if (CompareStr((Edit1.text), (DBEdit1.Text)) < 0) then
Panel1.Visible:= true;
Roy - Mo 18.01.16 18:33
tomte hat folgendes geschrieben : |
Versuch es mal mit:
if (CompareStr((Edit1.text), (DBEdit1.Text)) < 0) then
Panel1.Visible:= true; |
Hier gibt er mir auch ohne das die Inhalte Übereinstimmen das Panel1.visible:= true aus
Er soll die beiden Felder vergleichen, und wenn der Inhalt Übereinstimmt soll Panel1 visible
Wofür soll das <0 stehen
tomte - Di 19.01.16 09:25
Roy hat folgendes geschrieben : |
tomte hat folgendes geschrieben : | Versuch es mal mit:
if (CompareStr((Edit1.text), (DBEdit1.Text)) < 0) then
Panel1.Visible:= true; |
Hier gibt er mir auch ohne das die Inhalte Übereinstimmen das Panel1.visible:= true aus
Er soll die beiden Felder vergleichen, und wenn der Inhalt Übereinstimmt soll Panel1 visible
Wofür soll das <0 stehen |
Oh, da hat sich ein Fehler eingeschlichen, statt < 0 muss es = 0 heissen.
CompareStr liefert bei Gleichheit zweier Strings 0 zurück.
Ausserdem habe ich festgestellt, dass diese Funktion mittlerweile veraltet ist und man lieber ansicomparestr verwenden sollte.
Also :
if (ansicomparestr((Edit1.text), (DBEdit1.Text)) = 0) then
Panel1.Visible:= true;
oder etwas kürzer:
Panel1.Visible := ansicomparestr(Edit1.text, DBEdit1.Text) = 0;
Roy - Di 19.01.16 11:47
Muss Eigentlich ein Fremder PC Access installiert haben um mit der Datenbank zu arbeiten?
doublecross - Mi 20.01.16 10:33
Hi,
Roy hat folgendes geschrieben : |
Muss Eigentlich ein Fremder PC Access installiert haben um mit der Datenbank zu arbeiten? |
höchstwahrscheinlich nicht ;).
Die Frage ist natürlich immer, wie du auf die Datenbank zugreifst. Ich nehme an, dass du er über die JET-Engine per ADO machst. Dafür wird lediglich
MDAC [
https://www.microsoft.com/en-us/download/details.aspx?id=5793] benötigt. Welches nur bei ganz alten Windows Versionen nicht Bestandteil des Systems sind.
Roy - Mi 20.01.16 11:15
Hallo Ihr lieben kleinen Helfer,
kann man auch noch eine oder Funktion himzufügen?
Roy - Di 09.02.16 21:29
Mir ist jetzt die Sache gelungen habe aber dazu noch eine Frage.
Wie kann ich noch eine Fehlermeldung rausgeben wenn rot markiertes nicht erfüllt ist?
procedure TForm1.Button1Enter(Sender: TObject);
begin
Panel1.Visible := ansicomparestr(Zertifizierungnummer.text, DBEdit2.Text) = 0;
Panel3.Visible:= false;
end
tomte - Mi 10.02.16 11:18
Roy hat folgendes geschrieben : |
Wie kann ich noch eine Fehlermeldung rausgeben wenn rot markiertes nicht erfüllt ist?
Panel1.Visible := ansicomparestr(Zertifizierungnummer.text, DBEdit2.Text) = 0;
|
In dem die Fehlermeldung ausgibst, wenn der Vergleich einen Wert ungleich 0 ergibt. Dazu kannst du z.B. ein Panel mit einer Fehlermeldung einblenden.
Delphi-Quelltext
1:
| PanelFEHLERMELDUNG.Visible := ansicomparestr(Zertifizierungnummer.text, DBEdit2.Text) <> 0; |
Roy - Mi 10.02.16 16:33
Funktioniert wunderbar.
Vielen Dank
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!