ACCESS-adresa řádku ve formuláři?? Vyřešeno

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

Berthin
nováček
Příspěvky: 34
Registrován: červen 11
Pohlaví: Nespecifikováno
Stav:
Offline

ACCESS-adresa řádku ve formuláři??  Vyřešeno

Příspěvekod Berthin » 10 črc 2011 11:25

Zdravím, mám formulář s několika řádky úplně vyplněnými a první řádek vyplňuji. Chtěl bych poprosit o radu jakej je příkaz pro automatické vyplnění hodnoty v políčku v prvním řádku stejnou hodnotou z stejného políčka v druhém řádku. Je jedno jestli po poklepnutí nebo si udělám tlačítko, v podstatě bych potřeboval poradit jak do konkrétního příkazu ve Visual Basic:
hdnota políčka v tomto řádku = hodnota z předešlého řádku. Blbost vím, ale o to dřív se mě zbavíte:-) Dík za odpověď

Reklama
maiki
Level 3
Level 3
Příspěvky: 463
Registrován: listopad 07
Pohlaví: Nespecifikováno
Stav:
Offline

Re: ACCESS-adresa řádku ve formuláři??

Příspěvekod maiki » 11 črc 2011 08:57

Jen rychlá a určitě ne dokonalá rada. Mám pocit, že automaticky se to doplńuje pokud to máš jako Pole se seznamem což by ale předpokládalo že se seznam hodnot odněkud musí vzít, čili buď z předvyplněných hodnot, nebo ze samostatné tabulky či dotazu. Jinak by to snad mělo jít když by sis vyjel kopii sady záznamů formuláře a tam najel na předposlení záznam. Např. sem našel tento kód co si najíždí v kopii záznamů na aktuální záznam dle hodnoty v poli formuláře:

Sub SupplierID_AfterUpdate()
Dim rst As Recordset
Dim strSearchName As String

Set rst = Me.RecordsetClone
strSearchName = Str(Me!SupplierID)
rst.FindFirst "SupplierID = " & strSearchName
If rst.NoMatch Then
MsgBox "Record not found"
Else
Me.Bookmark = rst.Bookmark
End If
rst.Close
End Sub

Ten řádek Me.Bookmark = rst.Bookmark by se dal nahradit nečím jako:

rst.MovePrevious 'přejdi na předchozí záznam od aktuálního v kopii sady záznamů
Me![Pole] = rst![Pole] 'zapiš do pole ve formuláři hodnotu z pole v sadě záznamů

Ještě by se to ale mělo ošetřit pro případ že žádný předchozí zánam není, takže asi něco jako

On Error Resume Next
rst.MovePrevious
select case err
Case 0
Case else
msgbox(Err.Number & Error.Description) 'tady by se dalo zjistit číslo chyby co by to generovalo pro případ že by nebylo kam přejít anebo prostě by se to ignorovalo a nic se nedoplňovalo...
End Select

Berthin
nováček
Příspěvky: 34
Registrován: červen 11
Pohlaví: Nespecifikováno
Stav:
Offline

Re: ACCESS-adresa řádku ve formuláři??

Příspěvekod Berthin » 14 črc 2011 00:32

Zdarec, dik moc za radu, nejsu teď bohužel tam kde tenhle problém řeším, ale hned jak se tam dostanu tak vyzkouším a dám vědět. Testoval sem ale ještě jinej způsob co mě napadl dodatečně, je trapnej ale funkční. Zjistil sem si příkaz, kterej mě posune o řádek níž, tam si nechám hodnoty načíst do proměnných, dalším příkazem se vrátím na aktuální řádek a ty hodnoty tam vrazím. Jak říkám, takový dětský řešení, ale funguje. Do toho cos mě poradil se pustim hned jak to pude. Dík moc, Martin.

--- Doplnění předchozího příspěvku (14 Črc 2011 00:32) ---

Zdarec, dik moc za radu, nejsu teď bohužel tam kde tenhle problém řeším, ale hned jak se tam dostanu tak vyzkouším a dám vědět. Testoval sem ale ještě jinej způsob co mě napadl dodatečně, je trapnej ale funkční. Zjistil sem si příkaz, kterej mě posune o řádek níž, tam si nechám hodnoty načíst do proměnných, dalším příkazem se vrátím na aktuální řádek a ty hodnoty tam vrazím. Jak říkám, takový dětský řešení, ale funguje. Do toho cos mě poradil se pustim hned jak to pude. Dík moc, Martin.

maiki
Level 3
Level 3
Příspěvky: 463
Registrován: listopad 07
Pohlaví: Nespecifikováno
Stav:
Offline

Re: ACCESS-adresa řádku ve formuláři??

Příspěvekod maiki » 15 črc 2011 00:00

Tak moje rada taky asi nebyla úplně nej... Další co mě teď napadlo: událost po aktualizaci - zapsat hodnotu do proměnné - tu použít pro doplnění v dalším záznamu

Hlavně jde o to, jeslti chceš jenom doplňovat poslední hodnotu z posledního záznamu anebo chceš aby ti to automaticky nabízelo hodnoty jak píšeš na klávesnici (jako Excel) - tento případ je právě možný když je místo textového pole pole se seznamem... aspoň si to tak pamatuji


Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: DotNetDotCom.org [Bot] a 2 hosti