AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi zeile immer überschrieben
Thema durchsuchen
Ansicht
Themen-Optionen

zeile immer überschrieben

Ein Thema von herrentor · begonnen am 24. Feb 2005 · letzter Beitrag vom 24. Feb 2005
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.338 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: zeile immer überschrieben

  Alt 24. Feb 2005, 10:57
Das Append hängt einen "vorläufigen" Datensatz an die Tabelle an.
Leider gibt es manchmal mit der TTable-Komponente Probleme, wenn direkt nach dem Append der Focus gewechselt wird. Den genauen Hintergrund kenn ich nicht, aber das Phänomen hatte ich in einem meiner alten Programme.
Deswegen VOR dem Append, ein SetFocus auf ein Erfassungs-Feld machen.
Wenn alle Daten eingetragen sind, erst dann darfst du ein Post machen. NICHT bei einem OnClick der dbComboBox. Dafür bitte einen extra-Button machen. Zum Testen kannst du ja auch mal den TDBNavigator benutzen.
Peter
  Mit Zitat antworten Zitat
herrentor

Registriert seit: 29. Mai 2004
Ort: Emden
158 Beiträge
 
#12

Re: zeile immer überschrieben

  Alt 24. Feb 2005, 11:06
ich meinte auch nicht onclick bei der dbcombo sondern bei einem extra button. wie kann ich denn unterdrücken, dass der datensatz immer in den dbcombos angezeigt wird und soll der focus auf ein imaginäres feld?
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.338 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: zeile immer überschrieben

  Alt 24. Feb 2005, 11:14
Zitat von herrentor:
ich meinte auch nicht onclick bei der dbcombo sondern bei einem extra button. wie kann ich denn unterdrücken, dass der datensatz immer in den dbcombos angezeigt wird und soll der focus auf ein imaginäres feld?
Dann ist das mit Button schon korrekt.
Das mit dem Unterdrücken verstehe ich nicht ganz.

Ein Beispiel mit dem Focus-Problem:
Angenommen, du zeigst die Daten in einem DBGrid an und du bist gerade im DBGrid (Focus is dort). Dann teilst du dem Programm mit, dass ein neuer Datensatz erfasst werden soll (Append). Bis dahin funktioniert das alles noch. Jetzt klickst du eine Komponente an, in der du die neuen daten erfassen willst (z.B. DBComboBox, DBEdit,...). Dann interpretiert die TTable das als Erfassungs-Abbruch. Um das zu vermeiden musst du vor dem Append den Focus auf eines der Erfassungs-Elemente setzen. Nichts imaginäres.
Peter
  Mit Zitat antworten Zitat
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#14

Re: zeile immer überschrieben

  Alt 24. Feb 2005, 11:23
Hallo,

Zitat:
comboboxen und editfeldern in einer datenbank zu speichern, bei der ich dann die eingaben abgleichen kann. beispielsweise das keine zeile doppelt geschrieben wird. mehr will ich nicht. ich will auch nicht, dass die datensätze in meinem programm angezeigt werden.
Dann must du vor dem speichern überprüfen ob der DS schon vorhanden ist, er wenn RecordCount = 0 ist, kann der DS angelegt werden ansonsten soll der DS editiert werden. So inetwa stellst Du dir das vor?

ich habe lange nicht mehr mit Table-Kompos gearbeitest, daher mal ein Bsp. mit Query's

SQL-Code:
Select Feld From DB WHERE Feld like Edit1.Text
If Query1.RecordCount-1 = 0 Then
Begin
  //neues DS anlegen
  Query1.append;
end
else
begin
  //DS editieren
  Query1.Edit;
end;
Mit der Table Kompo sollte es mit Befehl Locate funktionieren.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz