Szia, sajnos Access ügyben nem tudok segíteni, de talán megpróbálkozhatnál az Excel topikban némi mentegetőzés után. Úgy emlékeszem, hogy van némi hasonlóság az Excel és az Access levélküldési technikái között. És van, aki ezt is ismeri. Hátha kapsz valami jó ötletet.
Sziasztok! Segítséget szeretnék kérni ismét. Van egy lekérdezésem, ahol a vevőkódok az alábbi módon vannak kigyűjtve: https://prnt.sc/H_XFZys3Fuxh Azt szeretném, hogy ezek a vevőkódok valahogy kimásolhatóan egymás mellé kerüljenek vesszővel elválasztva. Lehet az egy jelentés, űrlap, vagy bármi. Hasonló módon, mint az alábbi xls-ben megoldva: https://prnt.sc/monrrhK57cfN Meg lehet ezt valahogyan oldani? Előre is köszönöm a segítséget.
Számláló típusú mező (növekvő értékekkel) az elsődleges kulcsa egy táblának. A táblából időnként törlünk sorokat, s néha vissza is illesztünk egy mentett táblából.
Ilyenkor jön a probléma: Ha pl. van már 100 rekordom, kitörlöm a 10-15. sorszámú rekordot, majd visszaállítom a 11.-et, akkor új rekord felvétele esetén a 12. rekordszámlálót állít be, nem pedig 101-et.
Milyen módszerrel lehet ezt kiküszöbölni? Kérem a segítségeteket!
Ha jól sejtem, akkor a DoCmd.SetWarnings False parancsot kell beírnod a kritikus rész elé. Viszont nyomatékosan ajánlom, hogy csak ott írd be, ahol felesleges, és a következő soron állítsd vissza True-ra, különben a programod valódi futásidejű hibáira vonatkozó hibaüzeneteket sem fogod meglátni.
Olyan problémám van, hogy VBA-ban szeretnék olyan kódot írni, ami egy hozzáfűző lekérdezést készít. A kódot már megírtam, de nem tudom kiiktatni az MsgBoxot. Egy másik tábla előző 50 rekordjának értékét adja össze, az INSERT INTO utasítást ezért egy ciklusba foglaltam, ahol soronként új értékeket kell kiszámolni a DSum függvénynek. A baj az, hogy minden egyes rekordnál megkérdi, hogy tényleg hozzá akarom-e fűzni? Én viszont nem akarnék több száz alkalommal okézni. Próbáltam ilyent: MsgBox()=6, de nem működik, mert ugye a meghívott függvény visszatérési értékébe kellene beavatkozni. Az enter billentyűnek mi lehet a kódja? Esetleg törölni lehet a párbeszédablakot? Persze Excelből importálva könnyebben megoldható, de további műveletek miatt jobb lenne itt maradnom az Accesban.
Az a problémám, hogy egy 2013-as ACCESS programban egy névsor alapján mindenkinek egy jelentést kell kinyomtatnom.
Érdekes módon az első példányon megjelenik a jelentésfej, de a többin nem. A nyomtatás egy lekérdezésen alapszik, ahol a névkód egyenként növekszik a kezdő értéktöl a végértéki.
Hogyan lehetne alapértelmezett értéknek megadni az aktuális év első napját. Tehát idén egész évben 2016.01.01. legyen az alapértelmezett érték és jövőre pedig 2017.01.01. Szeretném még az aktuális hónap első napját is megadni hasonló módon.
FROM Company INNER JOIN Contacts ON Company.CompanyNickName = Contacts.CompanyNickName
WHERE (((Contacts.ContactExpire)>Date()) AND ((Contacts.ContactOp)=True) AND ((Company.Insurance)>Date())) OR (((Contacts.ContactExpire)>Date()) AND ((Company.Insurance)>Date()) AND ((Contacts.ContactSup)=True))
GROUP BY Company.CompanyName, Company.CompanyNickName;
tud valaki itt segiteni? Accessben van egy tablam,ahol egy lekerdezesen belul kellene lennie meg egynek.
van egy adatbazis nevekkel,es azon belul van egy mezo ami azt jelzi hogy milyen kurzust vegzett az illeto. Nekem kellene egy lekerdezes ami meg tudja kulonboztetni ket ember nevet,mivel egy ceg akkor jo ha ket kulonbozo ember vegzett el ket kulonbozo kurzust,azonban jelenleg azt is elfogadja az adatbazis ha egy ember vegezte el mindket kurzust.hogy tudnam megoldani hogy a lekerdezesben meg lehessen kulonboztetni?
Van vagy 40 űrlapom, azokon pedig úgy 250 gomb. Egy olyan eljárásra van most szükség, amely minden egyes gomb lenyomásakor automatikusan lefut.
Egyesével betenni a gombok mögé persze nem gond, de alapvetően jobb lenne egyetlen eljárás, az Accessben ami minden gombra igaz. VBA-ban gondolkodtam, a database alá, új modulban public sub-ként meg is írtam, de nem nagyon történik semmi. Ha egyetlen gomb mögé teszem be ugyanezt, akkor működik.
Megköszönném, ha valaki tudna segíteni, hogyan induljak el.
Gondoltam egyet és létrehoztam egy üres űrlapot 3 füllel (Kartont).
A fülekre behelyeztem az említett lapokat.
A korábban felvitt adatokat ez alapján szépen kezelik a fülek.
Lépkedem az első fülön a rekordok között, akkor a 2. és 3. fül is hozza a hozzátartozó adatokat.
A kapcsolat köztük ezek szerint működik.
És itt jön a bibi.
Ha az első fülön nyomok egy új rekord gombot, és az első kombó mezőben a legördülő adatok közül (ami egy másik táblából ered) választok, akkor az alábbi üzenetet kapom egy kis ablakban.
Nem tudok rájönni, mi a probléma, mert az űrlapok magukban és korábbi adatokkal mennek, csak itt a lapozgatós oldalakra berakva nem. Tovább enged, de a rekordot nem tudom a többi mező kitöltése után rögzíteni a hiba miatt feltehetően.
A hiba ablak:
Ehhez az objektumhoz nem lehet értéket hozzárendelni.
Az objektum egy írásvédett űrlapon lévő vezérlőelem
*Az objektum egy tervezőnézetben megnyitott űrlapon lévő vezérlőelem
*A megadott érték esetleg túl nagy ehhez a mezőhöz
A második csillagos lehetőség szerintem nem lehet gond, mert engedi a listát választani, legördülnek a lehetőségek.
Az írásvédett űrlap dolgot nem tudom értelmezni szerintem.
Lehet, hogy valami egyszerű jogosultság beállítás lesz a megoldás, de képtelen vagyok rájönni.
Ha ezt a mezőt kitörlöm, akkor ugyan ezt a hibát adja a következő kombónál is, tehát nem hinném, hogy a mező a bibis, hanem valami a Karton elemben lehet valami turpisság.
Áttértem az ACCESS 2003-ról ACCESS 2010 alkalmazására. Az Access 2010-ben nincs olyan makro, amely a szövegfájlok importálását, exportálását elvégené, hanem az eszköztárban ki kell választani a külső adatok kezelése készletet, és manuálisan kell egy makrot előállítani amely elvégzi a kivánt funkciót. Ezt a makrot el lehet menteni és újból fel lehet használni, de persze csak manális lépések alkalmazásával.
A kérdés az, hogy lehet -e ezeket a makrókat valamilyen módon, programozottan elinditani?
Access 2010-ben való munkához lenne szükségem segítségre.
Igazság szerint csak most kezdtem el foglalkozni a programmal. Valamikor nagyon régen, még talán 8. osztályban informatika verseny miatt alapokat tanultam a 97-es Accessben. 10 év alatt sikerült azt a keveset is elfelejtenem, valamint a program is totál más lett.
Szereztem be videó-tanfolyamot róla, neten is nézelődtem, de még mindig nagyon csekély a tudásom, most viszont egy feladatot meg kellene oldanom, mely eléggé megkönnyítené a munkámat.
Szóval a feladat egész egyszerű, anno csináltam is hasonlót, de ebben nem találom.
Bejövő számlákat kezelő adatbázisról van szó. Elkészítettem a beviteli űrlapot, minden jó eddig. Viszont van benne egy legördülő lista, ahol választhatok pénznemet: HUF, EUR, USD. Ez alatt van egy legördülő lista, ahol választhatok, hogy 0, vagy pedig 27 %-os ÁFA van rajta.
Azt kéne megoldanom, hogy ha EUR, vagy USD a pénznem, akkor ez a lista automatikusan álljon 0-ra, ha HUF, akkor pedig 27%-ra.
Emlékeim szerint ez egy egyszerű dolog, de kifog rajtam sajnos.
Természetesen rengeteg tisztázatlan kérdés van még a fejemben, de így hirtelen ez volt olyan, amin kikészültem, hogy még erre sem jövök rá...
Igen. A 20 mező együtt az egyedi azonosítója a rekordnak. Nem akarom és nem is tudom összefűzni ezeket, mert ez egy AS400 gépről becsatolt tábla, amit ACCESS-ből ODBC-n keresztül kell karbantartanom, de ha csak a megengedett max 10 mezőt választok a csatoláskor kulcsnak, akkor a karbantartás során olyan mezőt is update-elhetek, amit nem kéne, mert a kiválasztott 10 mező ugyan azonos, de a maradék 10, ami még szintén beletartozna az egyedi kulcsba, nem.
a rekord 37 mezőből áll, és ebből 20 az egyedi rekord azonosító. Csatolásnál sajnos csak 10-et enged beállítani az ODBC.
Ezt most meg tudnád ismételni kicsit lassabban? Húsz mező tartalmazza az egyedi azonosítót? Össze kell őket konkatenálni, hogy megkapjuk az azonosítót, vagy hogy érted ezt?
Miért nem lehet az ODBC csatolt tábla egyedi rekord azonosítója 10-nél több? Tudna ebben valaki segíteni, vagy ez csak valami helyi specialitás a céges odbc beállításnál?
Van egy táblám, amit ODBC-n keresztül szeretnék karbantartani, a rekord 37 mezőből áll, és ebből 20 az egyedi rekord azonosító. Csatolásnál sajnos csak 10-et enged beállítani az ODBC.
Ami a példaprogramokat illeti, én is olyan könyvből tanultam meg a VBA programozás alapjait (igaz, hogy Excel alatt, de a lényeg nagyjából ugyanaz), amelyiknél az első parancs szintén a "Hello World" kiíratása volt a képernyőre. (Mi a baj ezzel?) A következő oldalakon pedig jöttek az egyre bonyolultabb technikák. (#471)
A VBA programozásnak pont ilyen felépítésű leírását keresem. A gondom az, hogy ilyet nem találtam.
Köszönöm a linket; és alaposan megnézem.
A beolvasandó fájloknak olyan a szerkezete, hogy nagyon könnyű lenne rájuk SQL lekérdezéseket írni. A gondom csak az, hogy az adatok rengeteg fájlban vannak szétosztva, és kezelhetőség érdekében egyetlen táblába kellene beimportálni a tartalmukat.
Időközben még néhány kérdés jutott eszembe: Miért Access? Miért nem Excel? Mi a szándékod a létrehozott adattáblákkal?
Ugyanis az Access elsősorban nagy adattömegek, és ezek bonyolult kapcsolatainak kezelésére szolgál. Például munkaügyi személyi nyilvántartás. Ha csak nézegetni szeretnéd, esetleg név, vagy kiterjesztés szerint rendezni, kinyomtatni, akkor talán elég az Excel is. Ahhoz könnyebben találsz segítséget, akár itt az Index fórumán is, mivel azt nagyságrenddel többen használják, mint az Accesst.
Visszaolvasva a második mondatom nem biztos, hogy egyértelmű. Azt írtam, hogy: "Ezeket pedig a VBA programmal tudod létrehozni, szerkeszteni."
Pontosabb lett volna, hogy a makrókat (azaz a programokat) a VBA programszerkesztővel tudod létrehozni, szerkeszteni, tesztelni. Mellesleg akár Access-ben, akár Excelben stb. Az Alt + F11 megnyomásával jutsz el a VBA szerkesztő oldalra.