04. december 2003 - 13:58Der er
18 kommentarer og 1 løsning
Kombinationsboks der styrer alle tekstbokse
I min hovedformular har jeg en masse firmaoplysninger i tekstbokse. Nu skulle jeg så finde en god måde at søge efter nye firmaer på. Jeg har lige besluttet at det allerhelst skal fungere ligesom "Orders" formularen i NorthWindTraders. I den kan man ændre navnet i en kombinationsboks, og alle tilhørende oplysninger ændres efter dette valg. Nu har jeg så ændret min tekstboks til en kombo, men felterne ændrer sig ikke. Så vidt jeg kan se, er der nogle hændelsesprocedurer i NV Traders, men de gælder kun for "ShipTo" controls på højresiden. Hvordan har de fået tekstboksene "Adress" og City etc til at opdatere sig?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Humlen ved orders formen i Northwind er at den ikke er bundet direkte til tabellen. Istedet bygges formen paa en query der er baseret paa tabellerne customers og Orders istedet Paa den maade kan man traekke direkte paa kundeinformation, og saette en afterupdate event paa comboboksen der laegger Adresse (fra kundeinfo tabellen) til Shipping adresse (i ordre tabellen).
Hvis du vil have noget lignende, men hvor det virker som om adressen indsaettes automatisk kan du benytte dette system og evt saette visible = false for felterne fra kundeinformationen
Okay.. Men stadig - hvis man kigger på VBA´en, og ser på hvad der sker i afterupdaten, så er det jo kun shipto kontrollerne der opdateres. Der står da intet om hvordan/hvornår de øvrige tekstbokse skal ændre sig? Der står endda at "Me!ShipName = Me![CustomerID].Column(1) Me!ShipAddress = Me!Address"
Men øhh - hvordan blev så boksen "Adress" opdateret?
Jeg må lige tænke lidt mere imorgen, jeg er gået død nu.. :-) Tak Tore
Det er vel ikke så simpelt at du bare skriver =cboDinCombo.Column(x) som ControlSource i dine textfelter? Så viser textfelterne det der står i de forskellige kolonner i din combobox. Disse kolonner kan du lave skjulte ved at sætte kolonne bredden til 0
Til Hugo : Øv det lød ellers som en rar nem ting, men den skriver den der "#navn?" fejl.. jeg skrev" =cboKundenavn.Column(2)". Den beder iøvrigt ikke om antal kolonner i tekstbokse- kun i kombinationsbokse..
Terry - jeg kigger på dit eksempel om lidt. Hvor mange point skal du forresten have for at kigge lidt på min database, og komme med kommentarer? - Væsentlige fejl/mangler er velkomne. Jeg kan oprette et nyt spørgsmål, og sætte et nyt antal point for det? - Databasen er ikke så stor at det gør noget.. (1 MB)
Terry - jeg har forresten forsøgt at bruge dit svar på spm 373468 - men det ser ud til, at den overfører dataene fra det "gamle" comboboxvalg - til felterne i det nye..
Hugo, I'm not quite sure if I have mis-understood the question but doesnt Tore also want to search? "Nu skulle jeg så finde en god måde at søge efter nye firmaer på." The example my link referse to is for a search routine, not for just updating another combo although it does if I rememeber correctly also have an example of doing that too.
Terry> jo men det er jo det der er det smarte med en combobox synes jeg. Man begynder at taste og boksen udfyldes efterhånden. Hvis det er en rigtig søgerutine, så er det noget helt andet der skal til.
Ok Jeg tildeler pointene til Terry, fordi hans svar på spm 373468 alligevel virkede. Når den så ud til at overskrive data til det sidst valgte felt, var det fordi jeg skulle huske også at ændre KundeId (Selvom det er et usynligt felt i min database)
Men altså hvis nogen senere skal bruge dette svar til noget, kan jeg sige at denne metode er liiidt besværlig, fordi man skal skrive en VBA linje for alle de tekstfelter der skal ændres senere. Jeg havde håbet, at hvis man fx senere tilføjede et felt til kildetabellen og i formularen, så skulle dette felt automatisk opså opdatere sig i forhold til valgte kundenavn (i kombo-boksen). Desuden skal komboboksens "antal kolonner" opdateres, og ligeså skal kolonnelinjebredderne.. Nåmen tak for svarene. terry - du skal lige lægge et svar for at få point.. PS - Jeg sender databasen i dag - sig selv hvor mange point det koster.. Håber du er ædru igenn :-)
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.