07. juni 2003 - 23:19Der er
28 kommentarer og 1 løsning
Opslag og opdatering i samme handling
I min formular der er baseret på en forespørgelse har jeg bla et navnefelt og da det er en flerbruger base vil jeg gerne siker at de forskellige brugerer staver navene ensartet når der er tale om gengangere.
Men hvordan laver man på en og samme tid et opslag i en liste og når der er tale om nye navne der ikke er på listen at man kan opdaterer direkte i formularen.
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.
Hvis du laver en komboboks til opslag, så skal du sætte egenskaben "Begræns til liste" = Ja.
Dernæst har du en hændelse, som hedder "Ved ikke på liste". På denne hændelse lægger du følgende kode: Private Sub cmbValg_NotInList(NewData As String, Response As Integer)
Dim cn As ADODB.Connection Dim rst As ADODB.Recordset
Set cn= CurrentProject.connection set rst = New ADODB.Recordset rst.open "tblDinTabel", cn , adOpenKeyset, adLockOptimistic
rst.Close Set rst = Nothing cn.Close Set cn = Nothing End Sub
Henrik-> Læser du nogensinde spørgsmålene inden du svarer? Eller forsøger du bare konsekvent at svare på alle spørgsmål uanset om du forstår spørgsmålet eller ej?
>> thomasjepsen Hvis du skal havde nye navne i en liste, der er flere der skal slå op i, Så er man da som 1 punkt nød til at opdatere, ellers kan de andre da ikke lave opslag på de nye. Og tak for dagens første fornærmelse. Og derved er diskusisjonen slut for mit vedkommende. Vh Henrik13
Henrik-> Men det var jo ikke lige det, som spørgsmålet drejede sig om! Spørgsmålet gik på hvordan man tilføjede poster i en tabel, som blev benyttet til opslag (f.eks. vha komboboks) direkte fra formularen.
Jeg er jo ikke den eneste som har bemærket, at du stort set svarer på alle spørgsmål og ofte svarer du helt hen i skoven, som om du slet ikke har givet dig tid til at læse og forstå spørgsmålet. Det er belastende for alle, at man skal bruge tid på at sætte sig ind i hvad du skriver - for så at konstatere at det slet ikke har noget med spørgsmålet at gøre. Det var ikke for at fornærme dig (selvom det måske godt kunne lyde sådan) men blot en opfordring til lige at bruge et par minutter mere på at læse spørgsmålene gennem. Og hvis du ikke mener, at du er helt sikker på hvad der menes, så bed om en uddybning eller lad andre om at besvare spørgsmålet.
>> thomasjepsen Jeg har nu tested de 9 spørgsmål fra i går d. 6-6-03. Der var 1 spørgsmål jeg svarrede på. DVS der er 8 spørgsmål jeg ikke svarrede på det en var om word, og jeg har ikke word på min nye maskine, jeg har en woord 6 liggende men den er uaktuel og for gammel til man bør gi et svar ud fra den. Hvis du lægger mærke til det svarre jeg ikke på word spørgsmål, efter jeg har fået ny maskine. Nu skriver du der er andre der har bemærket det, det er kun dig og mugs, der har skrevet det, og der kommer du ind og giver ham ret. På mig virker det som om i vil havde mig ud fra experten. Vh Henrik13
På ingen måde! Der er absolut intet personligt i min kommentar. Formålet er netop at vi alle skal kunne være her og samtidig mene, at vi får noget ud af det. Sådan som Eksperten fungerer, så er der mange som ikke læser spørgsmål hvor der allerede ligger 4-5 svar eller mere. Dvs at når en bruger stiller et spørgsmål og du kort efter svarer med 3-4 indlæg (som måske ikke er relevante), så er chancen for at Spørgeren får svar på sit spørgsmål blevet væsentligt forringet. Derfor - af respekt for andres tid og behov - bør man have dette in mente, når man svare. Jeg ved godt, at du ikke svare på ALLE spørgsmål (overdrivelse fremmer forståelsen ;o) og du må jo også gøre noget rigtigt når du har fået alle dine point. Men jeg, og flere kolleger/bekendte har bemærket at du - især på det sidste - har været meget ivrig efter at besvare spørgsmål. Og det er jo kun fint :o) Det er jo den slags, som holder Eksperten igang! Så lad os ikke bruge mere tid på dette.
Begge "kombatanter" har givet udtryk for, at der ikke skal bruges mere tid på dette, men tillad mig alligevel at fremkome med en kommentar, nu hvor mit navn har været nævnt.
Jeg er helt enig med Thomas. Der er over 50000 brugere på eksperten, men vel kun nogle få der bruger Access-kategorien, og endnu færre der svarer. Denne kategori er sammen med nogle få andre kendetegnet ved, at sproget i og behandlingen af spørgsmålene ligger på et væsentligt højere niveau. Og lad det endelig blive ved med det.
Henrik > Når du svarer på et spørgsmål, ser det for mig ud som om, at det give en hjælpende hånd til en bruger, ikke er det væsentlige, men derimod at hive en del af pointhøsten hjem. Det er jo også helt OK. Men tænk lige på, at du ikke kan bruge disse point til noget som helst praktisk anvendeligt. Men udelukkende måle din viden sammenholdt med andres. Det er vel også OK - Og alligevel er det jo intet værd, fordi det som regel er tale om, hvem der kommer først til mølle. Jeg svarer sjældent på et spørgsmål i dagtimerne, idet der på min arbejdsplads er een PC forbundet til internettet, og der er ca 50 medarbejdere, der kan benytte den.
Alene af den grund, at jeg stort set afskåret fra at kunne svare om dagen og Top 10 er derfor ikke alene et udtryk for at vide mest men også om, hvem der på et givent tidsrum har adgang til internettet.
Henrik > I din hidsige pointjagt, er det særdeles irriterende at du som regel skyder med spredehagl i dine svar / kommentarer. Læs spørgsmålene en ekstra gang og forstå dem og formuler derefter et løsningsforslag. I dette spørgsmål kommer du med 3 svar indenfor 12 min, og alle svar viser, at du ikke har forstået spørgsmålet. Og det eneste der er opnået er, at forvirringen breder sig. Specielt hvis spørgeren ikke er så bekendt med Access som du.
Inden for mit arbejde, har vi en gylden regel, inden vi benytter en radio for at kommunikerer med andre:
- Tænk - Tast - Tal
Gør det samme, og det vil gavne både dig selv, os andre brugere samt ikke mindst spørgeren.
Når jeg afspiller dit forslag fremkommer følgende fejlmeddelsem på den del rst.open "tblDinTabel", cn , adOpenKeyset, adLockOptimistic.
Fejlmeddelensen lyder som Run time error`'-2147217900(80040e14)': Der en en ugyldig sætning- "delete", "insert", "procedure", "select" eller "update" var ventet.
Jeg har prøvet synters jeg alt muligt, men uden resultat. Hvad vil du foreslå, for jeg tror du er på rette spor.
Janma-> det afhænger selvfølgelig lidt af om du har opbygget databasen korrekt. Hvis du ikke kan få det til at virke, skal du måske lige fortælle lidt mere om hvordan tabellerne er bygget op!
>>Mugs Jeg har nu læst dine bemærkninger om mig. Jeg har afleveret et svar kl. 23.26.06, og kl. 23.38.52. Jeg har ledt meget efter det tredje svar,men kan ikke finde det, så jeg er meget spændt på hvad jeg har skrevet i det. Det er rigtigt der kuun er 12 min. mellem svar1 og svar2. Men jeg kan ikke finde det tredje svar i dette spm. Normalt hvis jeg kom med sådanne beskyldninger ville jeg undersøge tingene først. :o)
Henrik > Jeg medgiver, at du kun har 2 svar og 1 kommentar. Men det er noget pladder og en dårlig undskyldning, for du kan jo selv se, at du har 3 indlæg. Og iøvrigt tror jeg ikke på, at du nu (læs først nu) har læst min kommentar. Med den aktivitet du har på eksperten, tror jeg simpelthen ikke på dig!
>mugs Det har du ret i den læste jeg før kl. 10. Men du skrev jo jeg skulle læse det godt, og tænke over det. Det gjorte jeg så samt udprintede det så jeg var helt sikker på det jeg skrev var korrekt. Og dermed er diskusjonen slut for mit vedkommende. :o(
rst.Close Set rst = Nothing cn.Close Set cn = Nothing
End Sub
T Faglig Database er navnet på tabellen hvori feltet "Arbejdsgiver" skal slås op indgår. Formularen F Faglig Database er baseret på forespørgelsen FS Faglig Data base hvor i der ingår to tabeller - T Faglig Database, og T Medlemmer som udgør en underformular- men det skulle jo ikke ha betydning.
Er det stadig samme fejlmeddelelse? I så fald kan du prøve at skrive (selvom det burde være det samme): Private Sub Kombinationsboks94_NotInList(NewData As String, Response As Integer) Dim cn As ADODB.Connection Dim rst As ADODB.Recordset
Set cn = CurrentProject.Connection Set rst = New ADODB.Recordset rst.Open "Select * From [T Faglig Database]", cn, adOpenKeyset, adLockOptimistic
Er det primærnøglen, som er den bundne kolonne i komboboksen? Er det med andre ord ikke selve navnet, som du gemmer i tabellen T Medlemmer, men blot ID'et?
Det er primærnøglen der er bundet til komboboksen. Men de to felter "sagsnummer" og "arbejdsgiver" tilhører begge samme tabel T Faglig Database. På listeopslaget fremkommer korrekt de tidligere indtastede navne. Jeg har heller ikke problemer med at skrive et nyt navn men den vil ikke opdatere.
Jeg kan ikke gennemskue hvad der går galt....det kan være en enkelt lille detalje som er gal. Jeg tror, at vi er derude, hvor det vil være nødvendigt at kigge rigtigt på databasen med egne øjne for at kunne stille diagnosen. Har du mulighed for at sende den til en af os? Min adresse er: tj@milla.dk
Databasen er på vej tilbage til dig. Det viste sig, at fejlen skyldtes at der var mellemrum i tabelnavnet (Fy! :o) hvorfor der skulle [] omkring. Koden ser herefter således ud:
Private Sub Kombinationsboks94_NotInList(NewData As String, Response As Integer) Dim cn As ADODB.Connection Dim rst As ADODB.Recordset
Set cn = CurrentProject.Connection Set rst = New ADODB.Recordset rst.Open "[T Faglig Database]", cn, adOpenKeyset, adLockOptimistic
Det fungerer. Havde prøvet med [] men havde også lagt ()ind !!
Tak
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.