12. september 2001 - 15:52Der er
6 kommentarer og 1 løsning
Hente data fra en form vha af en knap
Hej, Jeg er forholdsvis ny udi i Notesprogrammering. Jeg har følgende problem: Jeg har oprettet en form der indeholder felter omhandlende SIM kort. Smatidig har jeg oprettet en form der indeholder nogle brugere. Nu vil jeg gerne kunne vælge i formen brugere, hvilket simkort der tilhører brugeren. Jeg vil gerne have det vist i en opup box, med mulighed for at kunne vælge mere end et SIM kort. Samtidig skal der i formen der indeholder SIM kort informationen vises, hvilken bruger kortet er tilknyttet. Er dette muligt (ja, det er det vel), hvordan?
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Ja, jeg så det godt, men forstod, hvad du mente. Begge forms ligger i den samme database. Det jeg efterlyser er en formel (funktion) der - når jeg trykker på en knap - præsenterer en dialogbox, hvor jeg kan vælge et simkort, hvor de lagrede data herefter bliver lagt i dertil indrettede felter i brugerformen. I simkortformen skal brugerdataerne (eventuelt) så kopieres over i nogle dertil indrettede felter - eller alternativt kunne vises i et view.
Det med at hver bruger og hvert simkort har hver sit dokument, er en god ide. (data kan så fremvises i oversigten). For at kunne vælge simkort i bruger dokumentet, skal du i formularen for bruger gøre følgende: 1. opret et felt til simnr. 2. i egenskaber for feltet, skal du vælge \"dialogboks\" i [Valg], og herefter vælge \"aktuel database\" i [database]. I [Vis] skal du vælge en oversigt der kun viser dokumenter med simkort (tip: oversigten viser kun dokumenter der ikke har en bruger i et brugerfelt)
3. I querysave og queryclose i formularen(bruger) laves en kode der kopiere brugernavn over i simnr. documentet(hvis forslaget ellers er ok, kan jeg komme med et forslag hertil),
Ovenstående forudsættet i første omgang at der kun skal angives sinnr. i bruger dokumentet, det kan dog udvides hvis behovet er der.
Prøv med følgende: Placeres i (Declarations) %REM startnr deklareres som en global variabel i denne formular startnr bruges til at registrere om Simnr ændres fra dokumentet åbnes til det igen lukkes. %END REM Dim startnr As String
Placering i Postopen %REM startnr sættes lig simnr idet dokumentet åbnes. %END REM Sub Postopen(Source As Notesuidocument) startnr = Source.FieldGetText(\"Simnr\") End Sub
Placering i Queryclose %REM Checker om simnr. er blevet ændret fra da dokumentet blev åbnet. Hvis dette er tilfældet ændres de tilhørende kunde-felter i simnr. dokumenterne %END REM Sub Queryclose(Source As Notesuidocument, Continue As Variant) Dim session As New NotesSession Dim db As NotesDatabase Dim view As NotesView, view1 As NotesView Dim doc As NotesDocument, doc1 As NotesDocument Set db = session.CurrentDatabase Set view = db.GetView(\"Simnr.\") Set view1 = db.GetView(\"SimnrDerErBrugt\") Set uidoc = Source.Document Simnr = Source.FieldGetText(\"Simnummer\")
if Simnr <> startnr then \'Vi skal altid rette i doc med nye simnr Set doc=view.GetDocumentByKey(Cdat(Simnr)) doc.Bruger = Source.fieldgettext(\"Bruger\") Call doc.save(True,False) end if If (Simnr <> startnr And startnr<>\"\") Then \'Her retter vi også i gl. simnr doc, hvis bruger har fået ændret simnr. Set doc=view1.GetDocumentByKey(Cdat(startnr)) doc.Bruger = \"\" Call doc.save(True,False) end if End Sub
Prøv at kigge på ovenstående, jeg tror tilrettelserne er i orden til dit behov. Du skal dog tilpasse navnene på oversigter, og sørge for at simnr. står i første kolonne.
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.