Stránka 1 z 1

Access a větší množství tlačítek ve formuláři

Napsal: 07 čer 2011 08:29
od karel.laska
Zdravím vespolek,
snažím se vytvořit databázi která by měla obsahovat formulář s větším množstvím tlačítek.
Bohužel tyto tlačítka nejsou nijak seřazena a zhruba mají odpovídat skutečnému umístění paletových pozic.
Chtěl jsem, aby se kliknutím na jednotlivé tlačítko, zapsala "objednávka".
Bohužel nemůžu najít nic jako index (VB6) ani žádnou informaci kromě názvu kterou se každé tlačítko nese ke zpracování...
Doufám že jsem jsem to vyoslil správně a že se najde dobrá duše, která mi poradí..
Jedná se o access 2003

Re: Access a větší množství tlačítek ve formuláři

Napsal: 07 čer 2011 13:55
od maiki
Můžeš to nějak blíže rozvést? Co to znamená "aby se na každé tlačítko zapsala objednávka"? Tlačítka jsou identifikována jako ovládací prvky (resp. jejich názvy).

Re: Access a větší množství tlačítek ve formuláři

Napsal: 07 čer 2011 14:47
od karel.laska
Určitě to můžu přiblížit...
Jde mi o to že mám cca 35 paletových míst , na kterých je materiál, který se MŮŽE občas změnit...
Převážně však půjde o to , aby kliknutím na danou pozici, se přidal záznam o objednávce do tabulky objednávek.
Nechtěl jsem to dělat formou 35 a více aktualizačních dotazů.
Bylo by pro mě rozhodně lepší, kdyby bylo paleta1 = materiál A , paleta2 = materiál B atd. a zpracovávat to skriptem ve stylu:
Aha požadavek od palety 1, kouknu co tam má být za materiál, aha A, takže objednávám...

Re: Access a větší množství tlačítek ve formuláři

Napsal: 07 čer 2011 16:58
od maiki
Jen v rychlosti: můžeš to udělat tak že předáš proceduře hodnotu tlačítka které se stiskne a ona si to podle této hodnoty už sama pořeší. Čili každé tlačítko bude mít po kliknutí kód volání té centrální procedury s hodnotou toho aktuálního tlačítka. Např následující věc ti vypíše vždy název toho tlačítka co se stisklo:

Private Sub Prikaz1_Click()

Call VyhodnoceniTlacitek(Prikaz1)

End Sub

Private Sub Prikaz2_Click()

Call VyhodnoceniTlacitek(Prikaz2)

End Sub


Private Sub VyhodnoceniTlacitek(ByVal Tlacitko As CommandButton)
MsgBox Tlacitko.Caption
End Sub


edit: Ale můžeš předávat klidně jen textovou nebo číselnou hodnotu co ti bude vyhovovat (čili nikoliv typ CommandButton ale třeba jen Byte nebo String)

Re: Access a větší množství tlačítek ve formuláři  Vyřešeno

Napsal: 07 čer 2011 17:24
od karel.laska
Super,
přesně tak jsem to začal dělat :-) ještě před odpovědí....
Ale potvrdilo se mi že asi nejde jako ve VB - Private Sub Prikaz1_Click(neco, co si predam tlacitkem)
Chtěl jsem se pravě tomu vyhnout aby bylo i jednoduchý přidávání dalších tlačítek...
Každopádně díky moc....

Den poté:
To jak jsi to napsal funguje, ted by mě ještě zajímalo, jestli můžu název tlačítka předat jako hodnotu z DB...
Jde mi o to , aby v DB byly názvy tlačítek a já při otevření formuláře tyto názvy vyplnil do tlacítek.
Dělám to z důvodu jednoduché změny materiálu na dané pozici...
nějak takto :

Private Sub VypisNazvyPaletovychMist_Click()
Dim dbMyDB As DAO.Database
Set dbMyDB = CurrentDb()
'Dim tblMyTable As DAO.TableDef
'Set tblMyTable = dbMyDB![PoziceAObsah]
Dim DotazSQL As String
Dim ZaznamyDB As DAO.Recordset
DotazSQL = "SELECT CisloPaletovePozice, DanyMaterialNaPozici FROM PoziceAObsah"
Set ZaznamyDB = dbMyDB.OpenRecordset(DotazSQL)
ZaznamyDB.MoveFirst
Do

Dim prikaz As CommandButton
prikaz = ZaznamyDB("CisloPaletovePozice")
prikaz.Caption = ZaznamyDB("DanyMaterialNaPozici")
ZaznamyDB.MoveNext
Loop Until ZaznamyDB.EOF
End Sub

Takhle nějak, akorat se mu nelíbí přiřazení - prikaz = ZaznamyDB("CisloPaletovePozice")
protože je v db text s uvozovkama....

Koukám že jsem neuzavřel téma :-)
Takže zavírám, systém mi dávno funguje...

Díky všem
Karel