Hirdetés

2024. május 2., csütörtök

Gyorskeresés

Hozzászólások

(#101) kymco


kymco
veterán

Egy nagyon egyszerű problémát nem tudok megoldani accesben.... bizonyosan lámaságom miatt.
Létezik két tábla, az egyikben számítógép konfigurációk vannak a másikban helyiségek. A számítógépes tábla rendelkezik egy elhelyezés mezővel (többek között), és azt szeretném, hogy akkor, hogy össze tudjam őket kapcsolni az elhelyezés tábla kulcsmezője által.
A legegyszerűbb az lenne, hogy az űrlapon a megfelelő számítógépnél állva lépkednék egy segédürlapon a helyiségek között, és amikor megfelelőhöz értem, akkor egy OK gombbal hozzárendelhetem (kitölti a számítógépes tábla aktuális elhelyezés mezőjét az helyiség tábla kulcsmezőjével).
Mivel az helyiség tábla összetett (épület, emelet, szoba, szoba rendeltetése stb...), a kombipaneles megoldás csúnya volt.
Hogyan tudnám rávenni a nyomógombot, hogy lenyomásra az egyik tábla aktuális rekordjának mező értékét egy másik tábla aktuális rekordjának megfelelő mezőjébe átvigye?

www.refujvaros.hu

(#102) badbrother válasza Poctar (#100) üzenetére


badbrother
aktív tag

IGEN
Jól tudod, vagy már ketten tudjuk rosszul.

(#103) kymco válasza kymco (#101) üzenetére


kymco
veterán

UP

www.refujvaros.hu

(#104) rdi válasza kymco (#101) üzenetére


rdi
veterán

Esetleg a gomb leprogramozását nem próbáltad ki? De egyébként miért nem jó a kombinált lista ? A megejelenítendő mezőt vedd egyre. oszlopnév stb beállítással elég türhetően néz ki. Sztem.

Ja és SQL egyébként.

[Szerkesztve]

Fej! Tor! Potroh!

(#105) kymco válasza rdi (#104) üzenetére


kymco
veterán

Az a baj, hogy nincs ''beszédes'' mező a kombi listához.... de ha más nincs, ezt kell megtennem.

[Szerkesztve]

www.refujvaros.hu

(#106) rdi válasza kymco (#105) üzenetére


rdi
veterán

Szóval én egyetlen egyszer leprogramoztam egy gombot valami hasonlóra, de olyan régen volt, hogy már nem emléxem, és már elgórtam a csriptet is. Elmulnak a világ dicsőségei sajnos. :((

Fej! Tor! Potroh!

(#107) rdi


rdi
veterán

sziasztok, hogy kva annyába lehet ezt a feladatot megoldani?

A csoportok végén azonosítható módon jelenjen meg az adott városban lakó előfizetők száma!

(ECDL M6-20)

sürgős lenne

Fej! Tor! Potroh!

(#108) rdi válasza rdi (#107) üzenetére


rdi
veterán

már megoldottam kösz

Fej! Tor! Potroh!

(#109) ollie válasza kymco (#101) üzenetére


ollie
MODERÁTOR

Egy egyszerű VBA paranccsal nem megy?

***

(#110) Destroyer


Destroyer
csendes tag

Helló, egy kis problémám lenne, de nincs hozzá szaktudásom. Ha valaki tudna segíteni hálás lennék.

a táblázat
ftp:/ftp.atw.hu
login: evelux
pass: haribo


A probléma ,hogy feladatott kapott a húgom MS ACCESS-ben
egy táblázatot kell létre hozni, eddig semmi gond és itt különböző szűrés és rendezést kell végezni ezt is sikerrel vettem.
Majd létre kell hozni lekérdezéseket ezzel is megvolnék.
de amikor növelni kell a 2000. előtt kiadott könyvek árát 25%-kal
Csökkenteni egy tetszőleges kiadó könyvei árát 10%-kal
Csökkenteni az 1500 Ft feletti könyvek árát 15%-kal
Készíteni kell olyan lekérdezést ami megjeleníti az 1995. előtti kiadott könyvek átlag árát.
Készíteni kell olyan lekérdezést ami megjeleníti az 1995. utáni kiadott könyvek átlag árát.
Készíteni kell olyan lekérdezést ami megjeleníti az idén kikölcsönzött könyvek közül a legdrágább adatait.
Készíteni kell olyan lekérdezést ami megjeleníti verseskötetek átlagárát és darabszámát.

Sejtem, hogy ez nem lehet túl bonyolult, de alaptudásom kevés hozzá.
Ezért kérek minden hozzá értőt segítsen de ne csak a megoldásban hanem kérnék egy kis leírást is, hogy mit, hogy és miért mert nekem is el kell neki magyaráznom.

Röviden ennyi.

Az Internet elfogyott. Ön elérte az Internet utolsó oldalát. Nincs több link, jópofa kép, ingyen zene, pornográfia. # 444-es HTTP-hiba #

(#111) Destroyer


Destroyer
csendes tag

na senki
ez sem igaz

Az Internet elfogyott. Ön elérte az Internet utolsó oldalát. Nincs több link, jópofa kép, ingyen zene, pornográfia. # 444-es HTTP-hiba #

(#112) ollie válasza Destroyer (#110) üzenetére


ollie
MODERÁTOR

Update query-t kell használnod, ot megadhatsz mindenféle feltételt, hogy mondjuk ha a könyv 2000 előtti, akkor növelje az árát, stb.
A többit meg simple query-vel lehet, de sokat segít a query wizard is.

Magyarul nem tudom, én angol nyelvűt használok.

***

(#113) rdi válasza ollie (#112) üzenetére


rdi
veterán

magyarul frissítő, választó és táblakészítő lekérdezések :)) valamint összesítés a varázslóval létrehozott lekérdezésben

[Szerkesztve]

Fej! Tor! Potroh!

(#114) rdi válasza rdi (#113) üzenetére


rdi
veterán

ja és pl. frissítő lekérdezésben megadod a módosítást azon a mezőn, amelyiken akarod végrehajtani :))

egyébként vazze van aki későig dolgozik :(

[Szerkesztve]

Fej! Tor! Potroh!

(#115) badbrother


badbrother
aktív tag

Elfelejtetem hogyan lehet azt megoldani, hogy amikor rákattintok az asztalon lévöö access ikonra akkor ne kérdezzen semit csak nyisson meg egy általam elözöleg megadott file-t.
Valahova az ikon tulajdonságaihoz be kell írni a file elérési útját meg nevét, emlékeim szerint. de így nem megy. mit rontotam el?

(#116) L3zl13 válasza badbrother (#115) üzenetére


L3zl13
nagyúr

Nem egyszerűbb, ha az adott mdb-hez teszel ki egy linket az asztalra?

Aki hülye, haljon meg!

(#117) badbrother válasza L3zl13 (#116) üzenetére


badbrother
aktív tag

De igen, egyszerüübb volna, ez is volt eddig. Csak az a baj, hogy ilyenkor elkezd installálni valami Access 2000-ret, és kéri a második CD-t. Ha nem adom be neki akkor nem indul el, ha beadom az sem segít. De ha elöbb elindítom az access-t és aztán nyitom meg az mdb-t akkor minden OK. Ezért kéne a segítség.
De az is megoldás lenne ha valaki elmondaná miért kéri a telepítöö cd-t minden alkalommal. Ráadásul a felhasználók elmondása szerint, csak akkor ha egy bizonyos felhasználó van bejelentkezve. Rendszergazdiként minden megy jól.

(#118) nemband


nemband
csendes tag

Van valakinek tapasztalata arról hogy mekkora adatbázis tud megbízhatóan kezelni az Acces?

Készülne egy adatbázis, kéthetente 5000 új adat bevitellel, évente 520 000 új adat, éveken keresztül, ezt elbírná?

(#119) kraftxld


kraftxld
nagyúr

Windows XP, Access 2000 tábla szöveg mezőjébe milyen beviteli maszkot kell írni, hogy a szöveg első betűje nagy, a többi kisbetű legyen? (>L<????? -t nem fogad el)

| MCSE+M/S, MCITP, VCP6.5-DCV - ''Life can be hard, but Scooter is harder :)'

(#120) szabi244


szabi244
csendes tag

Sziasztok lenne egy problémám amit nem tudok megoldani.

Van egy adatbázisopm két táblával. Munkalap és kontaktszemély tábla.
A munkalaptábla mezői:
-munkalpszám
-megrendelő neve
-kiszállás címe
-kontakt személy neve
-kontakt telefonszáma
kontaktszemély tábla mezöi:
-név
-cím
-telefonszám

először a kontaktszemély táblát töltöm fel adatokkal, majd a munkalapokat szeretném tölteni, úgy hogy a kontaktszemély mezőbe a már feltöltött másik tábla mezőjéből vegye a nevet és a telefonszámot, de úgy ha kiválasztom a nevet az automatikusan hozza magávalal a megfelelő (ugyanabban a rekordban lévő) telefonszámot.

(#121) jeges válasza szabi244 (#120) üzenetére


jeges
senior tag

nos sztem ne a kontakt nevét, hanem id-jét vedd át a másik táblából, és ezerrel lesz kevesebb gondod.
később a munkalap-kontaktszemély táblák join-jából csinálhatsz bármilyen lekérdezést, ahol megjelenítheted a név, tel, stb adatokat a munkalapokéval közösen.
egyébként ha egy megrendelőhöz több munkalap is tartozhat, javaslom külön megrendelő tábla fejlesztését (elég lehet bele id és név), mert ez sokkal rugalmasabb, logikusabb (és persze denormalizált).
így először feltölthetőek a megrendelők és kontaktok, majd a munkalapok adatai.

ui: ha létezik megrendelő-kontakt kapcsolat, akkor el lehet gondolkodni egy olyan szerkezeten, amiben
1 megrendelőhöz több kontakt tartozhat és
1 megrendelőhöz több munkalap tartozhat
(az sajna elsőre nem világos nekem, h a kontakt a megrendelőé vagy ''saját'' kontakt)

(#122) ollie válasza nemband (#118) üzenetére


ollie
MODERÁTOR

Kb a félmilliós rekordszámot tartják a határnak a megbízható működéshez.

***

(#123) jeges válasza ollie (#122) üzenetére


jeges
senior tag

hömmm....''tartják''
nekem vótak ''egyéb'' tapasztalataim is :U
nem is használom egy ideje ;]

respect

(#124) szabi244 válasza jeges (#121) üzenetére


szabi244
csendes tag

Köszönöm jeges a segítséget.
Csak az ID jét vettem fel a kontaktszemélynek, csináltam egy lekérdezést a munkalapról, és abból csináltam egy ürlapot.
az ürlapba belevettem a kontaktszemély azonosítóját. Itt ki is tudom választani sorszám szerint kontaktszemélyt, és szépen párosítva hozza a nevet és a telefonszámot.
DE én úgy szeretném, hogy név alapján lehessen kiválasztani, és nem ID alapján.
Tehát azt szeretném, hogy kiválasztom a nevet, és az automatikusan beírja a (munkalap) telefonszám mezőjébe a kiválaszott kontaktszemélynek a telefonszámát.

(#125) jeges válasza szabi244 (#124) üzenetére


jeges
senior tag

ha űrlapra akarod kitenni választható formában, akkor csinálj egy legördülő menüt, annak a forrásába be tudsz írni saját lekérdezést, amivel az ID-re hivatkozol, de a nevet látod (a ''tulajdonságok'' első fülén be tudod állítani, milyen szélesek legyenek az oszlopok), és a kiválasztás eseményre frissíted az űrlap telefonszámot tartalmazó elemét (pl. lista vagy akármi). ekkor a legördülő menüben látod a pali nevét, és ha kiválasztasz egy kontaktot, egy másik grafikus elemen láthatod a hozzá tartozó telszámot.
(munkalap? ez vmi új vagy excel munkalapról van szó?)

(#126) ollie válasza jeges (#123) üzenetére


ollie
MODERÁTOR

Oszd meg velünk tapasztalataid...

***

(#127) jeges válasza ollie (#126) üzenetére


jeges
senior tag

semmi különös, csak annyi, h bizonyos esetekben nekem nem működtek alap dolgok.
sajna a dolog azzal végződött, h nem használtam aktívan tovább az access-t, így nem is jártam utána mélyebben, h milyen feltételek mellett voltak ''érdekes'' dógok, de olyan pl. többször előfordult, h egy egész egyszerű lekérdezés érthetetlen módon #hiba vagy #hiányzik meg hasonló eredményeket adott. ha tervező nézetre váltottam majd vissza, érdekes módon megen' jól működött. egy ideig eljátszadoztam ezekkel, de nem tudtam rájönni, méér csinálja...
sajna az ilyen dolgok miatt erősen megingott a bizalmam a program iránt...

asszem végülis olyasmire jutottam, h a progi kifejezetten utálja a hosszú szöveges mezőket, főleg ha sok van belőlük. némely esetben a hálózati működést is kifejezetten elutálta (főleg ha adodb-t használtam), de ez még oprdsz-beállítási furmány is lehetett...

(#128) workman


workman
csendes tag

Hello!

Kisebb fajta problémával találtam szembe magam, és nem igazán találok rá megfelelő megoldást!
A lényeg az hogy az egyik űrlapon egy hivatkozást kéne bekérnem, így magát a dokumentumot nem kellene tárolni az adatbázisban, viszont nem tudom hogyan lehet a legegyszerűbben bekérni a felhasználó szemszögéből nézve. Az a legrosszabb megoldás ha neki kell bepötyögni az elérési utat, ezért valamiféle tallózásra gondoltam, viszont nem tom, hogy lehet ilyet készíteni.
Már azt is kpróbáltam, hogy egyszerűen az intézőből ''behúzza'' a fájlt, de ez se működik mindig valamiért.

Előre is köszi a segítséget!

(#129) jeges válasza workman (#128) üzenetére


jeges
senior tag

kicsit hosszadalmas a dolog, van egy külön modul, amit be köll építeni az adatbázisba, de asszem betolom ide, mer' nekem pl. qrva sok melómba került, míg megtaláltam (nagy részét nem én csináltam, de nagyon hasznos kis util)

szóval, az alábbit be köll másolni egy külön modulba (akármilyen néven)

Option Compare Database

Const ALLFILES = ''All Files''

Const OFN_ALLOWMULTISELECT = &H200
Const OFN_CREATEPROMPT = &H2000
Const OFN_EXPLORER = &H80000
Const OFN_FILEMUSTEXIST = &H1000
Const OFN_HIDEREADONLY = &H4
Const OFN_NOCHANGEDIR = &H8
Const OFN_NODEREFERENCELINKS = &H100000
Const OFN_NONETWORKBUTTON = &H20000
Const OFN_NOREADONLYRETURN = &H8000
Const OFN_NOVALIDATE = &H100
Const OFN_OVERWRITEPROMPT = &H2
Const OFN_PATHMUSTEXIST = &H800
Const OFN_READONLY = &H1
Const OFN_SHOWHELP = &H10
Declare Function GetOpenFileName Lib ''comdlg32.dll'' Alias _
''GetOpenFileNameA'' (pOpenfilename As OPENFILENAME) As Boolean

Type MSA_OPENFILENAME
' Filter string used for the Open dialog filters.
' Use MSA_CreateFilterString() to create this.
' Default = All Files, *.*
strFilter As String
' Initial Filter to display.
' Default = 1.
lngFilterIndex As Long
' Initial directory for the dialog to open in.
' Default = Current working directory.
strInitialDir As String
' Initial file name to populate the dialog with.
' Default = ''''.
strInitialFile As String
strDialogTitle As String
' Default extension to append to file if user didn't specify one.
' Default = System Values (Open File, Save File).
strDefaultExtension As String
' Flags (see constant list) to be used.
' Default = no flags.
lngFlags As Long
' Full path of file picked. When the File Open dialog box is
' presented, if the user picks a nonexistent file,
' only the text in the ''File Name'' box is returned.
strFullPathReturned As String
' File name of file picked.
strFileNameReturned As String
' Offset in full path (strFullPathReturned) where the file name
' (strFileNameReturned) begins.
intFileOffset As Integer
' Offset in full path (strFullPathReturned) where the file extension begins.
intFileExtension As Integer
End Type

Type OPENFILENAME
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As Long
nMaxCustrFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
Flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustrData As Long
lpfnHook As Long
lpTemplateName As Long
End Type

Function ListDir(strParent As String, Optional intAttr As Integer, Optional strSeparator As String) As String

'Funkció: az strParent könyvtár tartalmát listaszerűen, strSeparator karakterrel elválasztva adja meg.
'Amennyiben strSeparator-t nem adjuk meg, az '';'' (pontosvessző)
'Megadhatjuk még a listában látni akart állományok attribútumát, a Dir függvény szerint.
'(Ezt az intAttr változóban adjuk meg)

Dim i As Boolean, j As Integer, k As Integer
Dim strSubDir As String
Dim strSubDir_All As String
Dim strSep As String

'Dim strFile As String

If Right(strParent, 1) <> ''\'' Then
strParent = strParent & ''\''
End If

ChDir strParent

If Not IsNull(intAttr) Then
j = intAttr
Else
j = 1000
End If

strSubDir_All = ''''

If Not (IsNull(strSeparator) Or strSeparator = '''') Then
strSep = strSeparator
Else
strSep = '';''
End If

If j <> 1000 Then
strSubDir = Dir(strParent & ''*'', j) ' Retrieve the first entry.
Else
strSubDir = Dir(strParent & ''*'')
End If

'If IsNull(intAttr) Then
' intAttr = 1000
'End If

Do While strSubDir <> '''' ' Start the loop.
' Ignore the current directory and the encompassing directory.
If strSubDir <> ''.'' Then
Select Case j
Case 1000
i = True
Case 16
k = GetAttr(strParent & ''\'' & strSubDir)
On Error Resume Next
If k > 31 Then
Do Until k < 32
k = k - 32
Loop
End If
If k > 15 Then
i = True
Else
i = False
End If
Case Else
k = GetAttr(strParent & ''\'' & strSubDir)
On Error Resume Next
If k > 31 Then
Do Until k < 32
k = k - 32
Loop
End If
If k < 16 Then
i = True
Else
i = False
End If
' k = GetAttr(strParent & ''\'' & strSubDir)
' If k > (2 * j - 1) Then
' Do Until k < (2 * j)
' k = k - (2 * j)
' Loop
' End If

' If (k > (j - 1)) Or (k = 0) Then
' i = True
' Else
' i = False
' End If
End Select

If i Then
If strSubDir_All = '''' Then
strSubDir_All = strSubDir '& strSep & GetAttr(strParent & ''\'' & strSubDir)
Else
strSubDir_All = strSubDir_All & strSep & strSubDir '& strSep & GetAttr(strParent & ''\'' & strSubDir)
End If
End If

End If
strSubDir = Dir() ' Get next entry.
Loop

ListDir = strSubDir_All

End Function

'Ha attribútumot is megadtunk:
' If (intAttr = 0) Then
' If GetAttr(strParent & ''\'' & strSubDir) = intAttr Then
' If strSubDir_All = '''' Then
' strSubDir_All = strSubDir
' Else
' strSubDir_All = strSubDir_All + strSep + strSubDir
' End If
' End If ' it represents a directory.
' 'Ha attribútumot nem adtunk meg:
' ElseIf strSubDir_All = '''' Then
' strSubDir_All = strSubDir
' Else
' strSubDir_All = strSubDir_All + strSep + strSubDir
' End If
' End If


Function FindFile(strSearchPath) As String
' Displays the Open dialog box for the user to locate
' the Northwind database. Returns the full path to Northwind.

Dim msaof As MSA_OPENFILENAME

' Set options for the dialog box.
msaof.strDialogTitle = ''Jelölje ki a kívánt fájlt!''
msaof.strInitialDir = strSearchPath
msaof.strFilter = MSA_CreateFilterString(''All files'', ''*.*'')

' Call the Open dialog routine.
MSA_GetOpenFileName msaof

' Return the path and file name.
FindFile = Trim(msaof.strFullPathReturned)

End Function


Function MSA_CreateFilterString(ParamArray varFilt() As Variant) As String
' Creates a filter string from the passed in arguments.
' Returns '''' if no argumentss are passed in.
' Expects an even number of argumentss (filter name, extension), but
' if an odd number is passed in, it appends ''*.*''.

Dim strFilter As String
Dim intRet As Integer
Dim intNum As Integer

intNum = UBound(varFilt)
If (intNum <> -1) Then
For intRet = 0 To intNum
strFilter = strFilter & varFilt(intRet) & vbNullChar
Next
If intNum Mod 2 = 0 Then
strFilter = strFilter & ''*.*'' & vbNullChar
End If

strFilter = strFilter & vbNullChar
Else
strFilter = ''''
End If

MSA_CreateFilterString = strFilter
End Function

Function MSA_ConvertFilterString(strFilterIn As String) As String
' Creates a filter string from a bar (''|'') separated string.
' The string should pairs of filter|extension strings, i.e. ''Access Databases|*.mdb|All Files|*.*''
' If no extensions exists for the last filter pair, *.* is added.
' This code will ignore any empty strings, i.e. ''||'' pairs.
' Returns '''' if the strings passed in is empty.


Dim strFilter As String
Dim intNum As Integer, intPos As Integer, intLastPos As Integer

strFilter = ''''
intNum = 0
intPos = 1
intLastPos = 1

' Add strings as long as we find bars.
' Ignore any empty strings (not allowed).
Do
intPos = InStr(intLastPos, strFilterIn, ''|'')
If (intPos > intLastPos) Then
strFilter = strFilter & Mid(strFilterIn, intLastPos, intPos - intLastPos) & vbNullChar
intNum = intNum + 1
intLastPos = intPos + 1
ElseIf (intPos = intLastPos) Then
intLastPos = intPos + 1
End If
Loop Until (intPos = 0)

' Get last string if it exists (assuming strFilterIn was not bar terminated).
intPos = Len(strFilterIn)
If (intPos >= intLastPos) Then
strFilter = strFilter & Mid(strFilterIn, intLastPos, intPos - intLastPos + 1) & vbNullChar
intNum = intNum + 1
End If

' Add *.* if there's no extension for the last string.
If intNum Mod 2 = 1 Then
strFilter = strFilter & ''*.*'' & vbNullChar
End If

' Add terminating NULL if we have any filter.
If strFilter <> '''' Then
strFilter = strFilter & vbNullChar
End If

MSA_ConvertFilterString = strFilter
End Function

Private Function MSA_GetOpenFileName(msaof As MSA_OPENFILENAME) As Integer
' Opens the Open dialog.

Dim of As OPENFILENAME
Dim intRet As Integer

MSAOF_to_OF msaof, of
intRet = GetOpenFileName(of)
If intRet Then
OF_to_MSAOF of, msaof
End If
MSA_GetOpenFileName = intRet
End Function

Function MSA_SimpleGetOpenFileName() As String
' Opens the Open dialog with default values.

Dim msaof As MSA_OPENFILENAME
Dim intRet As Integer
Dim strRet As String

intRet = MSA_GetOpenFileName(msaof)
If intRet Then
strRet = msaof.strFullPathReturned
End If

MSA_SimpleGetOpenFileName = strRet
End Function

Private Sub OF_to_MSAOF(of As OPENFILENAME, msaof As MSA_OPENFILENAME)
' This sub converts from the Win32 structure to the Microsoft Access structure.

msaof.strFullPathReturned = Left(of.lpstrFile, InStr(of.lpstrFile, vbNullChar) - 1)
msaof.strFileNameReturned = of.lpstrFileTitle
msaof.intFileOffset = of.nFileOffset
msaof.intFileExtension = of.nFileExtension
End Sub

Private Sub MSAOF_to_OF(msaof As MSA_OPENFILENAME, of As OPENFILENAME)
' This sub converts from the Microsoft Access structure to the Win32 structure.

Dim strFile As String * 512

' Initialize some parts of the structure.
of.hwndOwner = Application.hWndAccessApp
of.hInstance = 0
of.lpstrCustomFilter = 0
of.nMaxCustrFilter = 0
of.lpfnHook = 0
of.lpTemplateName = 0
of.lCustrData = 0

If msaof.strFilter = '''' Then
of.lpstrFilter = MSA_CreateFilterString(ALLFILES)
Else
of.lpstrFilter = msaof.strFilter
End If
of.nFilterIndex = msaof.lngFilterIndex

of.lpstrFile = msaof.strInitialFile _
& String(512 - Len(msaof.strInitialFile), 0)
of.nMaxFile = 511

of.lpstrFileTitle = String(512, 0)
of.nMaxFileTitle = 511

of.lpstrTitle = msaof.strDialogTitle

of.lpstrInitialDir = msaof.strInitialDir

of.lpstrDefExt = msaof.strDefaultExtension

of.Flags = msaof.lngFlags

of.lStructSize = Len(of)
End Sub


innentől ha vmelyik formon csinálsz egy nyomógombot, a köv. kóddal tudsz tallózni:


Private Sub Command3_Click()

Me.TextBox0 = FindFile(''C:\'')

End Sub


a fentiben ''TextBox0'' egy sima textbox (nahát ;]) a formon, amibe visszaírja a tallózás eredményeként kapott állomány elérési útvonalát és nevét

nem állítom, h minden környezetben működik, de nekem többféle win/office kombinációval jól működött :)

(#130) workman


workman
csendes tag

Hello!

Köszi a segítséget :R, megpróbálom beépíteni a programba remélem sikerül.
Igazából megoldásként felmerült bennem, hogy a hivatkozás beszúrása parancsikonnal működne a dolog, már arra is sikerült rájönnöm, hogy makróként el tudom helyezni az űrlapon viszont, arra még nem sikerült rájönnöm, hogy ezt az értéket, hogy tudom egy rekord, egyik mezőjébe beszúrni...

Mindenestre köszi, aszem megpróbálom ezt a modulos megoldást!

Üdv: Work

(#131) workman válasza jeges (#129) üzenetére


workman
csendes tag

Bocsi hogy megint zavarlak, de beillesztettem az adatbázisba és a következő hiba üzenetet írta ki: Fordítási hiba. a következő lekérdezéskifejezésben:
AppLoadString([bw_tblBtnActions].[Description])

Feltehetőleg valamit én rontottam el, de kipróbáltam üres adatbázisba illesztve, meg a készülőbe is és mindkettőnél ugyanez a hibajelenség. És semmilyen parancsgombot nem tudok létrehozni ezután...

Sajna a Visual Basichez nem értek, az accesst is most kezdtem, úgyhogy ez a hibakód még nem mond nekem semmit.
Különben WinXP-n futna OfficeXp Proff-al.

Köszi: Work

(#132) jeges válasza workman (#131) üzenetére


jeges
senior tag

ha ''beszész'' egy modulba, fent a tools menüben megjelenik egy ''references'' menüpont. nézd meg, mik vannak becsekkolva (a legtetején vannak az aktívak).
ebből a hibaüziből nem tudtam meg sokat, de ha meg tudod nézni, melyik sor lett hibás, az segítene. mindenesetre az a gyanúm, h vmilyen rendszerhívás vagy nincs egyszerűen xp-ben vagy nem tud rá hivatkozni az access, ezt még nem lehetetlen, h a fenti references vmely csoportjának bekapcsolásával lehet ''javítani''.

szerk: most win2000-en jól fut nálam, de tényleg ölég régóta használom, nem t'om, xp alatt megyen-e.

[Szerkesztve]

(#133) workman válasza jeges (#132) üzenetére


workman
csendes tag

Aktívak a következők:
VB For Applications
MS ACCESS 10.0 Object Library
OLE Automation
MS ActiveX Data Objects 2.1 Library

Ennyi.

Szívesen megkeresném a hibát, de fogalmam sincs, hogy hogyan kell :F (mint írtam, nem értek a VB-hez)

Köszi

(#134) jeges válasza workman (#133) üzenetére


jeges
senior tag

próbáld becsekkolni a következőket:

microsoft scripting runtime
microsoft scriptlet library

indítsd újra az access-t (biztos, ami zihher :), és próbáld újra a gomb-nyomogatást

(sajna arra már végképp nem emléxem, h melyik gyűjtemény tartalmazza ezeket a rendszerhívásokat)

közbe' kerestem microsoft knowledge base-t, de qrvára nem találom, az ms régi oldala sokkal informatívabb vót...

egyébként még megpróbálhatsz keresni a súgóban, mert rengeteg mindent belepakoltak (elsősorban a vba súgójában), hátha...

(#135) jeges


jeges
senior tag

hibakeresés: ha kigyön a hibaüzi, megnyomod a ''debug'' gombot :)
elvileg ekkor ''ráugrik'' a hibás sorra, és sárgával megjelöli. ebben a módban ha az egérrel a változók ''fölé'' mész, megmutatja, melyik változó milyen értéket vesz fel, ebből sokminden kiderülhet

(#136) workman válasza jeges (#135) üzenetére


workman
csendes tag

Bejelöltem azokat amiket írtál, de amikor az űrlapot létrehozom, és létrehozok rajta egy parancsgombot tervezőnézetben ugyanúgy kiírja a hibaüzenetet, nem akkor amikor lefuttatom, hanem amikor még szerkesztem az űrlapot... Odáig el sem jutottam, hogy lefusson...

Olyat nem lehet csinálni, hogy egy egyszerű hivatkozásbeszúrása gombot lerakok a mező mellé???
(azt láttam ,hogy makróba be lehet helyezni a hivatkozás beszúrása parancsot, de azt nem tudom, hogy az hogy vonatkozzon arra a mezőre)

Köszi: Work

(#137) jeges válasza workman (#136) üzenetére


jeges
senior tag

őőőő....nem vagyok benne biztos, h nem hibás az access telepítés
ha egy egyszerű gomb létrehozására/szerkesztésére ilyen hibaüzit ad :U

nincs olyan alkalmazásod/adatbázisod, amit korábban másik accessben hoztál létre és már tartalmaz űrlapot parancsgombbal?

sajna a hivatkozásban nem tudok segíteni, azt a részét nem ismerem, makrókat meg csupán igen korlátozottan használtam, mer' a modulok nekem egyszerűbbek, átláthatóbbak voltak.

(#138) shaft72


shaft72
tag

Helo Access guruk!

Remélem egyszerű a kérdés, amit felteszek. Van egy pár összekapcsolt táblából álló adatbázisom, űrlapon szeretném bevinni az adatokat (alaplapok javításával kapcsolatas tulajdonságok, események). Az lenne a kérdés, hogy lehetne azt megoldani, hogy ha a Serial Number mezőbe (ugye alaplapok sorozatszáma mint elsődleges kulcs) bescannelem az adott s/n számot, és ez az s/n már szerepel az adatbázisban, akkor automatikusan az adott s/n-hez tartozó adatokat tartalmazó űrlapra ugorjon, ha pedig nincs az adatbázisban, akkor új, ''tiszta'' űrlapot kezdjen. Remélem tudtok segíteni :U:)

(#139) shaft72


shaft72
tag

UP!!! :)

(#140) jeges válasza shaft72 (#138) üzenetére


jeges
senior tag

ez a folyamattól is függ:
a beszkennelést milyen folyamattal gondoltad? gondolom, ennek eredménye vmi word/excel/akármilyen formátumú külső álomány... vmilyen import funkcióval illeszted be?

egyébként amit írsz, azt anno legegyszerűbben egy fejlécen elhelyezett lista vagy legördülő segítségével műveltem meg. a fejlécen kijelölheted, melyik ID tulajdonságait akarod látni, frissítésre oda ''ugrik''. szintén a fejlécen van egy ''new'' vagy hasonló gomb, amit új rekord rögzítésére lehet használni.

azt nem látom a Te esetedben, hogy honnan tudja az access, hogy mely ID-ket kell összehasonlítani melyekkel.
ha pl. van egy import táblád (az újonnan szkennelt adatokkal), akkor az újnak talált ID-ket egyből (automatikusan vagy rákérdezés után) appendálhatod az alaplap törzsbe, és így a fenti ''kijelölős'' módszerrel rögzítheted az egyéb adatait.

(#141) jeszi


jeszi
tag

Hali!

Van egy táblám accessben. Egy kis részlet:

SORSZAM NEVE
00001 KISS GABRIELLA
00001 KISS GABRIELLA .
00001 KISS GABRIELLA DR.
00004 ROSTÁS OSZKÁR
00005 KERESZTES LÁSZLÓ
...

Látszik, hogy pl.: KISS GABRIELLA neve nem egységes. A tábla tele van ilyen hibával, amit ki akarok javítani. (*) Akarok írni egy olyan lekérdezést melynek eredménye:

SORSZAM NEVE
00001 KISS GABRIELLA //csak az első sort adja eredményül
00004 ROSTÁS OSZKÁR
00005 KERESZTES LÁSZLÓ

Szóval arra gondoltam, hogy ha minden egyes sorszámhoz megvan az első név (ami a táblában mindig jól szerepel), akkor utána már a hibás neveket könnyen ki tudom cserélni. De nem tudom megírni ezt a lekérdezést (*). Tud valaki segíteni?

Nem félek a haláltól, majdcsak túlélem valahogy!

(#142) Gh0sT


Gh0sT
addikt

Sziasztok!


Nem tudja valaki véletlenül, hogy egy olyan adatbázishoz, amelyet többen használnak NT-s környezetben, hogyan lehet jogosultságokat kiosztani?

Arra lenne szükségem, hogy az egyes ürlapok nyomógombjait csak bizonyos felhasználok érhessék el. Olyant már találtam, hogy helyi usereket hogyan lehet korlátozni, de itt hálózatról lenne szó. Valakinek van valami ötlete?

Másik kérdésem a következő lenne:
Adott egy ürlap amin van mondjuk egy pipálható jelőlőnégyzet és egy nyomógomb. A nyomógomb alapesetben inaktív. Namost nekem azt kellene megoldanom, hogy akkor legyen aktív, ha a jelőlőnégyzet ki van pipálva.
Eddig arra sikerült rájönnöm, miként lehet a nyomógombot értékadással aktívvá tenni, de a feltétellel nem boldogulok. Mit viszgáljak, hogyan csináljam?

Soha nem késő, hogy azzá válj, aki lehettél volna.

(#143) L3zl13 válasza Gh0sT (#142) üzenetére


L3zl13
nagyúr

Nem tom, ha local usereket usernév alapján tudod korlátozni, akkor hálózaton ugyanígy menni kellene domain\user vagy user@domain módszerrel szerintem... :F

Aki hülye, haljon meg!

(#144) Gh0sT válasza Gh0sT (#142) üzenetére


Gh0sT
addikt

Megoldva mindkettő...

Soha nem késő, hogy azzá válj, aki lehettél volna.

(#145) Gregorius


Gregorius
őstag

Nagy fába vágtam a fejszémet, nevezetesen Access program mögött ki lesz cserélve az adatbázis JET mdb-ről SQL2005-re (egyúttal a program költözik mdb-ből adp-be). Táblák, view-k migrálása, csatolás helyett connection string, etc... rendben le is megy, viszont igen komoly probléma jött szembe.
Ami a régiben így működött:

Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset(''EzaTábla'')
rs.FindFirst ...
rs.Edit
...
rs.Update
rs.Close

azt SQL alatt egyszerűen nem sikerül életre kelteni. Eddig ennyire jutottam:

Dim rs As New ADODB.Recordset
rs.Open ''EzaTábla'', CurrentProject.Connection
rs.MoveFirst
MsgBox rs!Mező
...
rs.Close

Nos az első probléma rögtön ott van, hogy ez a szerencsétlen Access az rs.Open-re az egész táblát átpumpálja a csövön az adatbázisból ahelyett, hogy csak az érintett sorokkal tenné meg (amire rááll a kurzor). Ez még talán pár hetes kódfirkálással megoldható az rs.Open-ekbe rakott SQL WHERE-rel.
A másik gond ennél már sokkal prózaibb: az így megnyitott Recordset nem szerkeszthető, tehát az .Edit, .AddNew, stb nem működik. Az eddigi legjobb megoldás, amit találtam az az, hogy direktbe SQL parancsokkal (SELECT, INSERT, UPDATE) beszélgetnék az adatbázissal, viszont ez olyan szinten felforgatná a kódot, hogy egyszerűbb lenne az egész programot újraírni.
Aki bármi értelmeset tud javasolni, plíz ne tartsa magában :O

[Szerkesztve]

(#146) Gregorius válasza Gregorius (#145) üzenetére


Gregorius
őstag

UP!

(#147) Gregorius válasza Gregorius (#145) üzenetére


Gregorius
őstag

:O :O :O

(#148) rzoli


rzoli
senior tag

Sziasztok!

Access házit csinálok, a táblákat, kapcsolatokat, űrlapok egy részét megcsináltam. De van egy feladat, amivel gondban vagyok. Sem a help, sem az acces 2000 könyvben nem találtam meg amit szeretnék.

Így szól a dolog: Adatbáziskezelő alkalmazás létrehozása az űrlapok, lekérdezések, jelentések menürendszerbe szervezésével!

Az indítást, és a környékén szétnéztem, de nem lettem okosabb. Valaki?

előre is kösz
Z

ui: még egy: hogyan tudok lekérdezést, vagy jelentést űrlappal elkészíteni?

[Szerkesztve]

Motorola Defy+, Lg G2, Doogee X5 Pro, Vernee Thor, MAZE Alpha, MI A1, Mi Mix3

(#149) rzoli válasza rzoli (#148) üzenetére


rzoli
senior tag

Na mi az? Péntek délután már senki nem dolgozik mi? :)

Azért még egyszer visszanézek ma, utánna már csak holnap...

Motorola Defy+, Lg G2, Doogee X5 Pro, Vernee Thor, MAZE Alpha, MI A1, Mi Mix3

(#150) Gh0sT válasza rzoli (#148) üzenetére


Gh0sT
addikt

A feladat elég komplett és általános.

Ajánlom az űrlapvarázslót, pillanatok alatt be lehet építeni a táblákat és lekérdezéseket az űrlapokba. Ráadásul ha van egy kis esztétikai érzéked, akkor nagyon szép és profi adatbázisokat lehet vele csinálni.

Esetleg ha leírod részletesen, hogy mit kellene csinálni, akkor tudok segíteni.

Soha nem késő, hogy azzá válj, aki lehettél volna.

Copyright © 2000-2024 PROHARDVER Informatikai Kft.