znaczacy > comp.* > comp.bazy-danych.msaccess

Borsooq (03.02.2004, 00:35)
Witam moze banalne ale mnie jakos nic z tego nie wychodzi - wiec mam bardzo
goraca prosbe o pomoc

mam formularz ktory trzyma dane - ktorego pracownika wybralem
dane sa wprowadzane do podformularza i teraz potrzeba mi aby data wpisana w
pierwszym rekordzie automatycznie przepisywala sie w nastepnym rekordzie
jezeli zostanie on wprowadzany.
probowalem aby data byla wprowadzana w formularzu glownym - ale nie
potrafie zrobic aby byly tam trzymane wiecej niz jadna informacje.

moze ktos ma inne pomysly - PROSZE

access2000
Robert (03.02.2004, 13:05)
chyba puściłem na priva, zamiast na grupę.
Robert (03.02.2004, 13:32)
Coś nie tak z privem więc daje tu.
Może cos takiego, pisane z palca na chybcika, ale powinno działać -
właściwość formularza "przed wstawieniem":

Private Sub Form_BeforeInsert(Cancel As Integer)
Dim a As String

If Me.NewRecord Then
DoCmd.GoToRecord , , acPrevious
DoCmd.GoToControl "NazwaTwojegoPola"
a = Me.NazwaTwojegoPola
DoCmd.GoToRecord , , acNewRec
DoCmd.GoToControl "NazwaTwojegoPola"
Me.NazwaTwojegoPola = a
End If

End Sub
Robert (03.02.2004, 13:48)
Dwie linie kodu są niepotrzebne:

DoCmd.GoToControl "NazwaTwojegoPola"

Pozdr.
Krzysztof Wiśniewski (03.02.2004, 14:23)
Borsooq wrote:
> Witam moze banalne ale mnie jakos nic z tego nie wychodzi - wiec mam bardzo
> goraca prosbe o pomoc
> mam formularz ktory trzyma dane - ktorego pracownika wybralem
> dane sa wprowadzane do podformularza i teraz potrzeba mi aby data wpisana w
> pierwszym rekordzie automatycznie przepisywala sie w nastepnym rekordzie
> jezeli zostanie on wprowadzany.
> probowalem aby data byla wprowadzana w formularzu glownym - ale nie
> potrafie zrobic aby byly tam trzymane wiecej niz jadna informacje.
> moze ktos ma inne pomysly - PROSZE
> access2000


Wydaje mi się, że najszybciej będzie tak:

W deklaracjach samego formularza:
Dim OstatniaData as variant

Po aktualizacji pierwszego z wypełnianych pól na formularzu:
If Not IsNull(OstatniaData) Then 'tzn wprowadzano już dziś jakiś rekord
Me.PoleDaty = OstatniaData
Else 'pobieramy dane z tabeli
Me.PoleDaty = Dlookup("PoleDaty","Tabela",KryteriaTeSameCoDlaPod formularza)
End If
(dla bezpieczeństwa można to uruchamiać po aktualizacji dowolnego z pól
danego rekordu, poza polem daty)

Po aktualizacji pola daty:
if IsNull(OstatniaData) Then
OstatniaData = Me.PoleDaty.Value
End If

Czyżby o to chodziło?

Pozdrawiam,
Krzysiek
Podobne wątki