Zeile in Table (Query) positionieren

Alle Themen rund um die Erstellung von Programmen
Antworten
Adrian
Junior Member
Beiträge: 18
Registriert: 11. September 2010, 10:10
Kontaktdaten:

Zeile in Table (Query) positionieren

Beitrag von Adrian »

Ziel ist es, nach erfassen eines neuen Mitarbeiters, die Tabelle neu aufzubauen (ist kein Problem) und den Zeiger (Balken) direkt auf dem neuen Mitarbeiter zu positionieren.

Das Aufbauen ist kein Problem, doch wie kann ich den Zeiger direkt positionieren? Daher in unterem Beispiel beim Mitarbeiter test? Hat da jemand eine Idee? (ich möchte nicht nur den Test sehen, dies wäre kein Problem, sondern ich möchte alle sehen, nur der blaue Balken sollte auf dem test stehen)

nach Erfassen habe ich den folgenden Code:

Code: Alles auswählen

IF lErfassen = True THEN
	HExecuteQuery(QRY_Mitarbeiter,hQueryDefault,"",1)
	TableDisplay(TABLE_QRY_Mitarbeiter)
	
	SetFocus(TABLE_QRY_Mitarbeiter)
END	
Unbenannt.JPG
Unbenannt.JPG (73.06 KiB) 2761 mal betrachtet

Herbert
Site Admin
Beiträge: 529
Registriert: 23. Februar 2010, 08:06
Wohnort: Langenthal, Schweiz
Kontaktdaten:

Re: Zeile in Table (Query) positionieren

Beitrag von Herbert »

Wenn du den Namen oder ein sonstiges eindeutiges Merkmal des zu markierenden Eintrags kennst, kannst mit TableSeek arbeiten.

i=TableSeek(MeineTabelle,...
TableselectPlus(MeineTabelle,i)

Anderer Ansatz: Falls du die Position bereits kennst, nicht neu aufbauen, sondern mit TableInsert arbeiten.

Adrian
Junior Member
Beiträge: 18
Registriert: 11. September 2010, 10:10
Kontaktdaten:

Re: Zeile in Table (Query) positionieren

Beitrag von Adrian »

Super, so klappts, besten Dank.

adrian

Werner_Bayern
Member
Beiträge: 91
Registriert: 2. Dezember 2019, 15:35

Re: Zeile in Table (Query) positionieren

Beitrag von Werner_Bayern »

Verrückt, hab gleiches Thema, nur funktioniert folgender Code nicht:

Code: Alles auswählen

		nSatznr is int
		HReset(Sonderpreis)
		Sonderpreis.ArtikelID = Artikel.ArtikelID
		Sonderpreis.EK = Artikel.EK
		Sonderpreis.VK = Artikel.VK
		HAdd(Sonderpreis)
		TABLE_QRY_Sonderpreise.Display(taReExecuteQuery)
		nSatznr = TableSeek(TABLE_QRY_Sonderpreise, Sonderpreis.ArtikelID)
		TableSelectPlus(TABLE_QRY_Sonderpreise, nSatznr)
Nach Display() passt alles, mit dem TableSeek wird jedoch der neue Satz an den Anfang der Table dubliziert (!) und nSatznr erhält 1. Darauf wird auch positioniert. Tatsächlich ist der Satz Nr. 1 aber nicht der neu angefügte, der wird dort nur angezeigt!
Nach knapp 4 Stunden testen und suchen hab ich herausgefunden, dass es am Fill:Direct access liegt. Umgestellt auf Loaded in memory und es funktioniert.

Warum???
Servus,

Werner

[Windev, Webdev und Windev Mobile Version 25 und 26, sobald in Englisch verfügbar]

Antworten