Dobrý den,
prosím vás o radu. Učím se Access na VŠ a mám domácí úkol se kterým si nedokáži poradit. Potřebuji vytvořit funkci v modulu, která spojí 2 libovolné argumenty (textová pole) MEZEROU. tzn. že musím udělat funkci na "mezeru" kterou pak třeba použiji na spojení jména a příjmení nebo katedra a vyučujícího atd...
Nevím co napsat mezi závorky a pak do řádku pod tím.
Public Function Funkce()
End Function
Děkuji moc za rady.
Marie
Access - spojovací funkce pro textová pole Vyřešeno
-
- nováček
- Příspěvky: 3
- Registrován: září 21
- Pohlaví:
- Stav:
Offline
Re: Access - spojovací funkce pro textová pole
Ahoj a vítej na PC-help.
Předpokládám, že Access používá pro definování uživatelských funkcí VBA, snad neurazím tím, že s tím nemám přímou zkušenost. S domácím úkolem bych ti stejně neradil stylem "okopíruj si tohle", ale popostrčím tě k řešení.
Nejprve obecný úvod do toho, co tedy je funkce a jak funguje - pokud chceš funkci předávat nějaká data, pak musíš použít parametry funkce - to je to, co se dává mezi kulatý závorky za název funkce, v tomto případě budou dva.
pak bude použití (volání) funkce s konkrétními daty
Na přiloženém kódu lze vidět, že chceme sečíst 2 čísla, musíme tedy funkci tato čísla nějak předat - zde tedy přes argumety x a y. Dále si lze všimnout toho, že funkce nemá před sebou modifikátor přístupu (public, nebo private), pokud není uvedeno ani jedno, tak je automaticky použito public, který se tedy psát nemusí. Další věcí k povšimnutí je to, že funkce vrací nějakou hodnotu, takže by měla být funkce stejného datového typu, jako je návratová hodnota (pokud by nic nevracela, používáme typ void), VBA používá "As Datatype" až za kulatým závorkami. Mezi složenými závorkami je zde tělo funkce - sem se píše to, "co funkce dělá", ve VBA je to všechno před "End Function".
Toto byla syntaxe jazyka C, syntaxi VBA si můžeš najít třeba v online dokumentaci, dlouho jsem v ní nic nepsal, takže se do ní raději nepouštím
Předpokládám, že Access používá pro definování uživatelských funkcí VBA, snad neurazím tím, že s tím nemám přímou zkušenost. S domácím úkolem bych ti stejně neradil stylem "okopíruj si tohle", ale popostrčím tě k řešení.
Nejprve obecný úvod do toho, co tedy je funkce a jak funguje - pokud chceš funkci předávat nějaká data, pak musíš použít parametry funkce - to je to, co se dává mezi kulatý závorky za název funkce, v tomto případě budou dva.
Kód: Vybrat vše
int Soucet(int x, int y){
return x+y;
}
Kód: Vybrat vše
Soucet(2, 6);
pak bude použití (volání) funkce s konkrétními daty
Na přiloženém kódu lze vidět, že chceme sečíst 2 čísla, musíme tedy funkci tato čísla nějak předat - zde tedy přes argumety x a y. Dále si lze všimnout toho, že funkce nemá před sebou modifikátor přístupu (public, nebo private), pokud není uvedeno ani jedno, tak je automaticky použito public, který se tedy psát nemusí. Další věcí k povšimnutí je to, že funkce vrací nějakou hodnotu, takže by měla být funkce stejného datového typu, jako je návratová hodnota (pokud by nic nevracela, používáme typ void), VBA používá "As Datatype" až za kulatým závorkami. Mezi složenými závorkami je zde tělo funkce - sem se píše to, "co funkce dělá", ve VBA je to všechno před "End Function".
Toto byla syntaxe jazyka C, syntaxi VBA si můžeš najít třeba v online dokumentaci, dlouho jsem v ní nic nepsal, takže se do ní raději nepouštím
Děkuju za vaše názory a rady.
-
- nováček
- Příspěvky: 3
- Registrován: září 21
- Pohlaví:
- Stav:
Offline
Re: Access - spojovací funkce pro textová pole
Ahoj a děkuji za tvojí odpověď,
Teorii trochu znám, mám skripta, ale ze skript moc nechápu jak to mám složit dohromady. Cokoliv mě napadlo, tak mi nefungovalo a zkoušela jsem to celou minulou noc. Já spíš potřebuji už poradit co tam mám napsat, jelikož někde dělám chybu a nemůžu na to přijít.
Děkuji moc za pomoc.
Teorii trochu znám, mám skripta, ale ze skript moc nechápu jak to mám složit dohromady. Cokoliv mě napadlo, tak mi nefungovalo a zkoušela jsem to celou minulou noc. Já spíš potřebuji už poradit co tam mám napsat, jelikož někde dělám chybu a nemůžu na to přijít.
Děkuji moc za pomoc.
Re: Access - spojovací funkce pro textová pole
No tak pokud víš, jak to naprogramovat, tak už jen správnou syntax VBAčka podle odkazu, co jsem poslal. Případně sem můžeš vložit svůj kód a buď se pokusím já, nebo někdo, kdo VBAčko umí líp, najít chybu, kterou tam máš.
Dodatečně přidáno po 4 minutách 37 vteřinách:
případně až nebudeš vědět kudy kam, a budeš to chtít vzdát, tak koukni třeba sem: https://wellsr.com/vba/2018/excel/vba-c ... ampersand/
Dodatečně přidáno po 4 minutách 37 vteřinách:
případně až nebudeš vědět kudy kam, a budeš to chtít vzdát, tak koukni třeba sem: https://wellsr.com/vba/2018/excel/vba-c ... ampersand/
Děkuju za vaše názory a rady.
- ITCrowd
- Tvůrce článků
-
Guru Level 13.5
- Příspěvky: 23605
- Registrován: březen 10
- Pohlaví:
- Stav:
Offline
Re: Access - spojovací funkce pro textová pole
S access nepracuji, kdyby to bylo v excelu, tak bych to uměl.
Nicméně potřebuješ vyřešit jak načíst z accessu jednotlivé hodnoty (v excelu by se to tahalo z buněk). Syntaxe pro spojení je:kde proměnné jmeno a prijmeni obsahují text jména a příjmení vytažené z accessu. Proměnná vysledek pak obsahuje "jméno příjmení".
Případně lze mezeru v uvozovkách nahradit kódem ascii
Teoreticky lze použít i "+", ale uřetězců (text) je lépe použít ampersand "&". Ten řekne jasně, že jde o spojení řetězců (textů).
Nicméně potřebuješ vyřešit jak načíst z accessu jednotlivé hodnoty (v excelu by se to tahalo z buněk). Syntaxe pro spojení je:
Kód: Vybrat vše
vysledek = jmeno & " " & prijmeni
Případně lze mezeru v uvozovkách nahradit kódem ascii
Kód: Vybrat vše
vysledek = jmeno & chr(32) & prijmeni
Teoreticky lze použít i "+", ale uřetězců (text) je lépe použít ampersand "&". Ten řekne jasně, že jde o spojení řetězců (textů).
Zkusili jste to vypnout a zapnout? Problémy řeším pouze v tématech. Do SZ mi proto píšete zbytečně.
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router
Re: Access - spojovací funkce pro textová pole
No jak předá u funkce hodnoty je jasný, už jsem to zde radil, přeci přes parametry tý funkce - zjednodušeně řečeno přes obsah kulatých závorek, to je základ programování
Děkuju za vaše názory a rady.
-
- nováček
- Příspěvky: 3
- Registrován: září 21
- Pohlaví:
- Stav:
Offline
Re: Access - spojovací funkce pro textová pole
Děkuji za pomoc. Už to funguje :)
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
- 7
- 1513
-
od atari
Zobrazit poslední příspěvek
28 lis 2023 11:26
-
- 0
- 819
-
od _FalcoN_
Zobrazit poslední příspěvek
22 kvě 2023 19:21
-
- 11
- 2539
-
od WolfGunCZ
Zobrazit poslední příspěvek
09 lis 2023 13:16
-
- 5
- 2580
-
od mmmartin
Zobrazit poslední příspěvek
13 črc 2023 18:44
-
-
Datový model - aktualizace po přidání dalšího sloupce do Access
od MK_Vs » 27 črc 2023 12:05 » v Kancelářské balíky - 0
- 1813
-
od MK_Vs
Zobrazit poslední příspěvek
27 črc 2023 12:05
-
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 11 hostů