PDA

Vollständige Version anzeigen : formular mit datensätzen (aktualisieren)


dmsman
11.07.2001, 11:32
Hi,
hab ein Formular bei dem Datensätze angezeigt werden, diese werden per Button entsprechend erhöht oder erniedrigt. Der Button wird in einem Modul definiert! Wie kann ich jetzt wenn ich per Button den Datensatz erhöh, danach gleich den richtigen Datensatz anzeigen lassen ? die richtige Datensatzzahl ? danke
Me!Repaint funktioniert ja nicht im Modul und warscheinlich auch nicht für Datensätze oder ? übrigens das Me!Repaint hab ich aus der Such-Hilfe :)
danke

A.S.
11.07.2001, 11:37
Hi,

fügst Du per Button neue Datensätze ein, willst Du die Datensätze in ihrer Positionierung (Reihenfolge) verändern, oder was ist Sinn bzw. Zweck der Übung?

Kommt nicht ganz rüber.

Gruß

Arno

dmsman
11.07.2001, 11:40
Hi Arno,
ich füg per Button neue Datensätze ein !Nachdem er das gemacht hat geht, bleibt mein Formular so wies ist und zeigt aber immer noch den letzten Datensatz an !
noch was unklar ?
danke

Wile E G
11.07.2001, 12:06
hi
ich verstehe nicht ganz.
Was passiert wenn du den button drückst?
werden ds aus einer anderen tabelle eingefügt?
und was soll danach passieren? du sagst dein form bleibt wie es ist, wie sollte es denn dann sein?
gruß wile E. G.

A.S.
11.07.2001, 12:06
Hallo,

wenn das Einfügen nur für dieses Formular gilt und nicht auch noch für andere, kannst Du das Coding direkt in die Ereigenisprozedur des Button-Ereignisses "Beim Klicken" einfügen. Dann sollte es auch mit dem Me klappen.

Gilt das Coding auch noch für andere Formulare, solltest Du die Prozedur mit einem Parameter versehen, dem Du den Verweis auf das jeweilige Formular mitgibst. Mittels dieses Verweises rufst Du dann die Requery-Methode des Formulares auf das die Funktion aufruft.

Beispielhafte Änderung der Sub/Functions-Deklaration:

Public Sub/Function fctAppendSets(frmCaller as Form) [As varType]
' Coding um die Datensätze an die Datengrundlage anzufügen
frmCaller.Requery
End Sub/Function

Der Aufruf über den Button des jeweiligen Formulares erfolgt dann über:

Private Sub btnAddDatas ()
fctAppendSets(Me)
End Sub

Eine Alternative ist das Requery bei der Rückkehr aus der aufgerufenen Funktion durchzuführen:

Private Sub btnAddDatas ()
fctAppendSets
Me.Requery
End Sub

------------------
HTH

Arno

A.S.
11.07.2001, 12:07
PS Bei der letzten Möglichkeit brauchst Du das Coding natürlich nicht in die Button-Prozedur zu legen.

dmsman
11.07.2001, 12:31
Hi,
Arno deiner Antwort kann ich irgendwie nicht folgen ! Gibt es einfach eine Möglichkeit in einem Modul den Datensatz-Zähler zu aktualisieren und natürlich den richtigen Datensatz anzuzeigen ?
Anhand des Buttons werden Metadaten zu einer Datei in einer Tabelle gespeichert ! Bei Klick wählt man eine Datei(api-funktion) aus,dann wird gefragt ob es wirklich diese Datei sein soll? wenn ja dann soll der ds zur Tabelle hinzugefügt werden und das formular, das die bisherigen ds anzeigt soll aktualisiert werden.

jetzt vielleicht klarer ?
danke

A.S.
11.07.2001, 12:46
sorry, das ich Dir keine auf Deine Bedürfnisse zugeschnitten Fix- und Fertig-Lösung präsentieren kann. Ich gehe nun einmal davon aus, das Coding das nur in einem Formular genutzt wird auch in diesem hintelegt wird und nicht in einem allgemeinen Modul!

Da Deine Antworten auf ein allgemeines Modul schließen läßt, muß ich auch davon ausgehen das die Routine von mehreren Orten aus genutzt wird und habe meine Antwort dementsprechend gestaltet.

Ausserdem enthält meine Antwort sehr wohl den von Dir benötigten Code, nämlich die letzte Alternative.

Das springen zum eingefügten Datensatz ist da schon ein wenig happiger. Du mußt wissen, welcher Datensatz eingefügt wurde und dann mit der FindFirst-Methode des RecordsetClones des aktuellen Formulares danach suchen. Hier wird Dir ein Bookmark auf den entsprechenden Datensatz gesetzt. Dieses Bookmark kannst Du in den Recordset übertragen und stehst im richtigen Datensatz.

Private Sub btnAddDatas ()
fctAppendSets ' bzw. Deine Funktion zum Anfügen der Datensätze aufrufen
Me.Requery ' Das aktuelle Formular auffrischen
Me.RecordsetClone.FindFirst "[Dokumentenname]='" & SaveFile & "'" 'Den eingefügten Datensatz suchen
'Hierfür muß SaveFile eine öffentliche Variable sein Public var As varType
Me.Bookmark = Me.RecordsetClone.Bookmark
End Sub

Gruß

Arno

PS Wenn Du mir jetzt wieder sagst Du könntest meiner Antwort nicht folgen, möchte ich Dir empfehlen vor Beginn solcher Projekte einige Programmierkurse zu besuchen.