17. november 2001 - 01:58Der er
24 kommentarer og 1 løsning
Fortsættelsen af \"hente data fra flere tabeller\".
Terry var en god hjælp til løsning af mit spørgsmål \"hente data fra flere tabeller\". Det lykkedes at få den fortløbende formular til at vælge fra alle 4 tabeller ved hjælp af UNION SELECT.
Mit nye problem går ud på, at man ved tryk på en af typerne (1-4)i formularen, skal få åbnet dén formular der hører til netop denne type depeche. typenr identificerer de 4 forskellige formularer. Det virker fint ved hjælp af en makro, når det drejer sig om bare én af formularerne.
Makroen gør som følger:
Åbner Formular FIndskriv WHERE [TABLE]![Indskriv]![depnr]=[FORMS]![FGyldigedep]![depnr]
Nu skal den altså åbne én af 4 forskellige Formularer (depecher), som identificeres ved hjælp af typenr 1,2,3 eller 4.
Jeg skal lige repetere, at det er ved tryk på et af felterne i den fortløbende formular, man skal kalde den fulde formular tilhørende typenr. Alt efter om det er formularen med typenr 1,2,3 eller 4.
Hej Terry. Jeg har været uden internetadgang et par dage. Men her på en café i Århus, er der lige tid til at checke eksperten. Jeg kigger på dit forslag sammen med min hjælper, en af dagene og melder tilbage. Tak indtil videre.
Du må undskylde jeg ikke har meldt tilbage, men min gode ven Allan har haft travlt og vi får først kigget på det torsdag. Jeg skal nok melde tilbage så snart vi har afprøvet din teori.
Efter lidt bøvl med at tilpasse dit forslag til databasen, så lykkedes det og det virker sgu osse.
Du er god !
Der er så godt nok et lille problem mere, som jeg glemte at nævne. Nu vælges den korrekte formular efter typenr. Men efter typenr. kommer der et depnr. (autonummerering \"0001\",\"0002\" osv). For hver type er der koblet et sådant autonummer på. Hvis jeg har en formular fremme hedder den måske 2(typenr.) efterfulgt af 0001(depnr). Typenr. 1,2,3 og 4 kan altså godt have samme depnr. Typenr. + depnr. er altså lig med samlet depnr. for den aktuelle formular. Det der identificerer formularen er altså både typenr. og depnr. Disse hænger sammen.
Kan dette kobles på din Case-sætning eller skal der gøres noget andet.
Jeg skal lige sige at du selvfølgelig skal have nogle flere point, for du har været en stor faktor i løsningen af problemet.
Den gjorde vrøvl pga. denne sætning, der manglede underscore efter Form. Select Case Form_FGyldigedep.typenr
Den rigtige sætning blev som følger : Private Sub dato_Click() Dim stDocName As String Dim stLinkCriteria As String Select Case Form_FGyldigedep.typenr Case 1 stDocName = \"FIndskr\" Case 2 stDocName = \"FSpsp\" Case 3 stDocName = \"FHstgh\" Case 4 stDocName = \"FKstrm\" End Select DoCmd.OpenForm stDocName, , , stLinkCriteria
Jeg ved ikke om det er tydeligt nok forklaret, men når den skal åbne én af formularerne med f.eks samlet depnr 20001 (bestående af typenr (2) og depnr (0001)), så skal den lede efter kombinationen typenr. og depnr. som er det samlede depnr. Som det er nu går den kun efter typenr.
First problem here is that an autonumber CAN NOT be = \"0001\" or \"0002\" these are text values and an autonumber is numeric so it could have values 1 2 or 3 for example: So a \"samlet\" depnr would look like 11 or 12 or 13 (for typenr = 1) and 21 or 22 or 23 (for typenr = 2)
I am not exactle sure what you mean with a \"samlet\" depnr. This is two fields isnt it and not just one.
Det er rigtigt at der er to felter. Det første er typenr som er fast for hver formulartype. Det andet felt er depnr som hedder 0001. Feltet typenr er sat lige foran feltet depnr, således at de to felter til sammen danner depechenummeret. Med den Case-sætning du har konstrueret kaldes den rigtige formular med det aktuelle typenr. Den tager dog ikke det rigtige depnr. Typenr og depnr skal altså hænge sammen når formularen kaldes.
Jeg skal lige sige, at funktionen med at finde det rigtige depnr har jeg brugt i et forsøg med kun én formular og dette fungererde fint. Where-betingelsen er som følger :
[Indskriv]![depnr]=[Forms]![FGyldigedep]![depnr]
Denne betingelse finder det aktuelle depnr. Dette sammen med typenr danner som sagt det smalede depechenummer, som kan være 10001,20001,30001 og 40001.
Private Sub dato_Click() Dim stDocName As String Dim stLinkCriteria As String Select Case Form_FGyldigedep.typenr Case 1 stDocName = \"FIndskr\" Case 2 stDocName = \"FSpsp\" Case 3 stDocName = \"FHstgh\" Case 4 stDocName = \"FKstrm\" End Select
Nu kommer jeg en del rundt i landet, så det kunne måske arrangeres.
Jeg bor i Aalborg og er bl.a en del på sjælland, hvor jeg stammer fra, men hvis jeg tolker din mailadresse korrekt, så er det ikke lige i de egne du befinder dig.
Det er ikke en dårlig ting at have mange \"klodser\" (brikker), at flytte rundt med.
Hvem ved måske kommer jeg til Vejle og omegn en dag.
Endnu engang tak for nu.
Lars.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.