Access - spojovací funkce pro textová pole Vyřešeno

...

Moderátor: Mods_senior

marie1eagle
nováček
Příspěvky: 3
Registrován: září 21
Pohlaví: Žena
Stav:
Offline

Access - spojovací funkce pro textová pole  Vyřešeno

Příspěvekod marie1eagle » 26 zář 2021 22:28

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

Reklama
Uživatelský avatar
cervcek
Level 5
Level 5
Příspěvky: 2245
Registrován: leden 12
Bydliště: Vrchlabí
Pohlaví: Muž
Stav:
Offline

Re: Access - spojovací funkce pro textová pole

Příspěvekod cervcek » 27 zář 2021 00:08

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.

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. :thumbup:

marie1eagle
nováček
Příspěvky: 3
Registrován: září 21
Pohlaví: Žena
Stav:
Offline

Re: Access - spojovací funkce pro textová pole

Příspěvekod marie1eagle » 27 zář 2021 00:20

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.

Uživatelský avatar
cervcek
Level 5
Level 5
Příspěvky: 2245
Registrován: leden 12
Bydliště: Vrchlabí
Pohlaví: Muž
Stav:
Offline

Re: Access - spojovací funkce pro textová pole

Příspěvekod cervcek » 27 zář 2021 00:30

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/
Děkuju za vaše názory a rady. :thumbup:

Uziv00
Pohlaví: Nespecifikováno

Re: Access - spojovací funkce pro textová pole

Příspěvekod Uziv00 » 27 zář 2021 07:34

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:

Kód: Vybrat vše

vysledek = jmeno & " " & prijmeni
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

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ů).

Uživatelský avatar
cervcek
Level 5
Level 5
Příspěvky: 2245
Registrován: leden 12
Bydliště: Vrchlabí
Pohlaví: Muž
Stav:
Offline

Re: Access - spojovací funkce pro textová pole

Příspěvekod cervcek » 27 zář 2021 10:47

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. :thumbup:

marie1eagle
nováček
Příspěvky: 3
Registrován: září 21
Pohlaví: Žena
Stav:
Offline

Re: Access - spojovací funkce pro textová pole

Příspěvekod marie1eagle » 28 zář 2021 03:36

Děkuji za pomoc. Už to funguje :)


Zpět na “Vše ostatní (sw)”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host