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: 2241
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: 2241
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:

Uživatelský avatar
ITCrowd
Tvůrce článků
Guru Level 13.5
Guru Level 13.5
Příspěvky: 23592
Registrován: březen 10
Pohlaví: Muž
Stav:
Offline

Re: Access - spojovací funkce pro textová pole

Příspěvekod ITCrowd » 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ů).
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

Uživatelský avatar
cervcek
Level 5
Level 5
Příspěvky: 2241
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 :)


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • záloha access
    od Ruda25 » 26 lis 2023 21:47 » v Kancelářské balíky
    7
    1296
    od atari Zobrazit poslední příspěvek
    28 lis 2023 11:26
  • Access point AP-8232
    od _FalcoN_ » 22 kvě 2023 19:21 » v Sítě - hardware
    0
    793
    od _FalcoN_ Zobrazit poslední příspěvek
    22 kvě 2023 19:21
  • ErP - ,,nebezpečná" funkce? Příloha(y)
    od DifiCZ » 05 lis 2023 12:26 » v Vše ostatní (sw)
    11
    2299
    od WolfGunCZ Zobrazit poslední příspěvek
    09 lis 2023 13:16
  • Excel - funkce když
    od Martyn20 » 13 črc 2023 11:56 » v Kancelářské balíky
    5
    2325
    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
    1626
    od MK_Vs Zobrazit poslední příspěvek
    27 črc 2023 12:05

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

Kdo je online

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