21. maj 2002 - 14:19Der er
29 kommentarer og 1 løsning
Overførelse af data fra en form til en anden
Jeg har en form i en dialogbox. Jeg vil gerne have at det man taster ind der, automatisk bliver gemt i et helt nyt dokument med en anden form, men som har alle felterne som dialogboxformen (og lidt til) og som selvfølelig får de data som man lige har indtastet i dialogboxen! How???
Hvis du åbner en form og kalder en anden form med @Dialogbox bliver alle felter som er sat i dialogen automatisk overført til den første form. Hvis du vil vise værdierne for brugeren på den første form skal du blot kalde felterne det samme på begge forms. Den første form kan desuden indeholde andre/yderligere felter.
Jeg har et frameset med bl.a. en knap som åbner dialogboxen og når man så lukker den skal den gemme alle værdier i en form som ligger "gemt" nede i basen, men som IKKE er aktiv når data bliver indskrevet i dialogboxen. Ergo skal jeg oprette et nyt doc med en givet form og det skal ske når man lukker dialogboxen.
Nåe, så er det meget nemmere! Kod din knap med flg: @Command([Compose]; ""; "DialogForm"). Det åbner på normalvis et nyt dokument baseret på din dialogform. Når brugeren lukker dokumentet bliver det gemt - også baseret på dialogformen.
OK, hvis jeg forstår dig ret: Du har en form som skal opbevare nogle data. Du ønsker at brugeren skal indtaste nogle af disse data, men ikke se resten af felterne. Så brug dog formen alligevel, og gem med "hide when" de felter som brugeren ikke skal se første gang, dvs. når dokumentet oprettes. Set en hide when i stil med "@IsnewDoc".
Jaaaa, det har været overvejet, men er ikke den optimale løsning til dette. Hvis det andet kan lade sig gøre er det klart at foretrække, men hvis det er alt for langhåret så må jeg jo boje mig i støvet og bruge HideWhen istedet. Men helst ikke !
OK, jeg må nok hellere bøje mig. Men hvordan får jeg så et nyt dok. åbnet i en dialogbox? @DialogBox("opgave";[AutoVertFit]:[AutoHorzFit];"Ny opgave") ser ikke ud som om opretter et nyt dok. @IsNewDoc virker ihvertfald ikke når man gør det på den måde!?
OK, nu har jeg fundet ud af det. Men hvordan sætter jeg dialogboxen til at gemme det nye dok. når man trykker OK og evt. også sender en mail med et doclink med en text i?
Jeg har sat min knap til at åbne den form som skal indeholde dataerne og samtidig sat dialogboxen med min form om at åbne ved "Postopen". Og så er det jeg spørger: "Men hvordan sætter jeg dialogboxen til at gemme det nye dok. når man trykker OK" i dialogboxen samt evt. sender en mail. Så vidt jeg ved kan man ikke bruge @MailSend som en aktion når man trykker "OK" i en dialogbox, men et script af en art
1) @Dialogbox opdatere automatisk det underliggende dokument - sørg blot for at felter til samme formål hedder det samme 2) Du kan ikke umiddelbart lægge funktion på OK Knappen i en dialogbox. Så du har to muligheder: 1:Du kan fjerne OK og Cancel knapperne fra dialogboksen og istedet lave dine egne OK og Cancel knapper. Så kan du lægge en @Mailsend funktion på OK knappen. 2: læg @Mailsend funktionen i QueryClose på dialogformen.
cdelicht>>> Kan du se hvorfor dette script ikke medtager selve de data jeg indtaster i feltet "Kommentar" når mailen bliver afsendt???
Sub Click(Source As Button) Dim ws As New NotesUIWorkspace Dim s As New NotesSession
Dim tmpdoc As New NotesDocument(s.CurrentDatabase) ret = ws.DialogBox("(KommentarBox)",True,True,False,False,False,False,"Skriv kommentar",tmpdoc)
Dim Kommentar As String Dim KomOverskrift As String
If ret = 0 Then Exit Sub
KommentarModt = tmpdoc.KommentarModt(0)
Dim db As New NotesDatabase("","")
Call db.OpenMail
Set maildoc = New NotesDocument(db) Dim body As New NotesRichTextItem(maildoc, "Body")
With body
Call .AppendText(Kommentar) Call .AppendText("Klik på linket for at åbne dokumentet -->") Call .AddNewline(2) Call .AppendDocLink(ws.CurrentDocument.Document, "Klik her!") End With
With maildoc .SendTo=KommentarModt .Subject=KomOverskrift
Call .save(True, False) Call .send(False) End With End Sub
Ja, fordi du bruger forkert variabel navn. Du har Dim'et Kommentar, men sætter KommentarModt = tmpdoc.KommentarModt(0) og forsøger til sidst at AppendText(Kommentar). Kommentar indeholder ikke noget!
KommentarModt er modtageren, og det fungerer. Mailen bliver modtaget godt nok, men det som mangler er selve kommentaren (feltet Kommentar) plus en overskrift i mailen!!!
cdelicht>> Kan du forklare hvorfor scriptet ovenover gemmer de afsendte mails i "Kladder"-mappen? Det synes jeg er lidt mystisk og ikke særlig hensigtsmæssigt!!!
Lige en ting mere: Hvordan kan jeg få sendt en mail med dette script til en person som findes på "hovedformen" som man står på når man trykker på knappen her???
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.