Ga naar inhoud

[Delphi] MDI-applicatie vraag


anoniem

Aanbevolen berichten

Ik heb een nieuwe manier van zoeken: [code:1:751930c01a]procedure TKlantZoekForm.Button2Click(Sender: TObject); begin with KlantenForm.KlantenTabel do begin first; while not eof do begin if FieldByName('KlantID').AsString = Edit1.text then begin break; end else next; end; end; end;[/code:1:751930c01a] Weet je trouwens hoe ik een DBEdit in cbsellipsis style kan weergeven dus met ... knop erachter?
Link naar reactie
  • Reacties 72
  • Aangemaakt
  • Laatste reactie

Beste reacties in dit topic

[quote:0922907286="George W. Bush"]Ik heb een nieuwe manier van zoeken: [code:1:0922907286]procedure TKlantZoekForm.Button2Click(Sender: TObject); begin with KlantenForm.KlantenTabel do begin first; while not eof do begin if FieldByName('KlantID').AsString = Edit1.text then begin break; end else next; end; end; end;[/code:1:0922907286] Weet je trouwens hoe ik een DBEdit in cbsellipsis style kan weergeven dus met ... knop erachter?[/quote:0922907286] Wat bedoel je precies met dat laatste? Wat moet er gebeuren als je op die ... knop drukt?
Link naar reactie
Die knop met drie puntjes kom ik regelmatig tegen in andere programma's. In Delphi weet ik alleen dat zoiets kan bij een DBGrid. Het is de bedoeling dat er een zoekdialoog wordt opgeroepen als je er op klikt. Weet jij trouwens hoe ik een deel van een record kan doorzoeken. Dus als ik de record Jan Jansen staat, moet ik ook kunnen zoeken op jan of jan kla. Snap je?
Link naar reactie
[quote:d7b864102d="Johan Stokking"]Dat doe je met de functie Locate, deze zit volgens mij wel in zo'n ZMySqlQuery.[/quote:d7b864102d] Maar ik maak geen gebruik van ee Query tijdens het zoeken. Ik maak gebruik van de volgende code: [code:1:d7b864102d] procedure TKlantZoekForm.Button2Click(Sender: TObject); begin with KlantenForm.KlantenTabel do begin first; while not eof do begin if FieldByName('KlantID').AsString = Edit1.text then begin break; end else next; end; end; end; [/code:1:d7b864102d][/code]
Link naar reactie
[quote:3c02ff6e1f="George W. Bush"][quote:3c02ff6e1f="Johan Stokking"]Dat doe je met de functie Locate, deze zit volgens mij wel in zo'n ZMySqlQuery.[/quote:3c02ff6e1f] Maar ik maak geen gebruik van ee Query tijdens het zoeken. Ik maak gebruik van de volgende code: [code:1:3c02ff6e1f] procedure TKlantZoekForm.Button2Click(Sender: TObject); begin with KlantenForm.KlantenTabel do begin first; while not eof do begin if FieldByName('KlantID').AsString = Edit1.text then begin break; end else next; end; end; end; [/code:1:3c02ff6e1f][/quote:3c02ff6e1f] Dan wordt het moeilijk wat je wilt... In de ZMySqlQuery en de ZMySqlTable zit dus een functie Locate en daar kan je dan opgeven dat de opdracht niet volledig hoeft te zijn...
Link naar reactie
Ja dat klopt. Dit komt omdat je maar een paar records selecteert... voor het zoeken kan je wel een aparte ZMySqlQuery gebruiken, die je koppelt aan de zoekresultaten. In die aparte Query zet je dan de SQL. Wat je ook kan doen (is misschien wel het beste), is dat je de functie Locate gebruikt, en geen Sql gebruikt (dan niet bijvoorbeeld "SELECT * FROM tabel WHERE (a="b") ..."!). Maar ik weet zo niet wat je precies wilt maken, kan je een demootje mailen van je exe-file (zonder source als je dat liever niet hebt)? M'n adres is johan@stokking.nl .
Link naar reactie
Weet je toevallig hoe ik kan controleren of een DBEdit veld leeg is, zoja dan moet de Systeemdatum erin, anders wordt hij gewoon opgeslagen. Dus iets als: [code:1:11741c2558] If DBEdit.Text := '' then DBEdit23.Text := FormatDateTime('dd-mm-yyyy'); KlantenTabel.Post; Else KlantenTabel.Post; [/code:1:11741c2558] Snap je mijn opzet?
Link naar reactie
[quote:301c0b3af3="George W. Bush"]Weet je toevallig hoe ik kan controleren of een DBEdit veld leeg is, zoja dan moet de Systeemdatum erin, anders wordt hij gewoon opgeslagen. Dus iets als: [code:1:301c0b3af3] If DBEdit.Text := '' then DBEdit23.Text := FormatDateTime('dd-mm-yyyy'); KlantenTabel.Post; Else KlantenTabel.Post; [/code:1:301c0b3af3] Snap je mijn opzet?[/quote:301c0b3af3] Ja :D Drie dingen zijn fout... ten eerste is := alleen om iets in te stellen, bij vergelijken gebruik je alleen = . Ten tweede, KlantenTabel.Post komt twee keer voor, dit hoeft niet. Ten derde moet er [b:301c0b3af3]begin[/b:301c0b3af3] en [b:301c0b3af3]end[/b:301c0b3af3] bij, omdat onder [b:301c0b3af3]if...then[/b:301c0b3af3] meerdere regels staan!!!!!!!!!!!! Dat is echt zo belangrijk met programmeren!!! Hier is de correctie: [code:1:301c0b3af3] If DBEdit23.Text = '' then DBEdit23.Text := FormatDateTime('dd-MM-yyyy'); KlantenTabel.Post; [/code:1:301c0b3af3] Als nogmeer wilt doen als DBEdit23.Text leeg is, dan moet het zo: [code:1:301c0b3af3] If DBEdit23.Text = '' then begin DBEdit23.Text := FormatDateTime('dd-MM-yyyy'); // nog een regel end; KlantenTabel.Post; [/code:1:301c0b3af3] Heeeel belangrijk!!
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in


×
×
  • Nieuwe aanmaken...