Formular mit GET/POST

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Formular mit GET/POST

Re: Formular mit GET/POST

von gogo » Fr, 30.09.2011 11:57

Füg' einfach im Makro "refresh_FA" vor dem "End Sub" Folgendes ein:

Code: Alles auswählen

oForm.getByName("txtBaugruppe").text           = ofrm_FA.getByName("txtBaugruppe").text
oForm.getByName("txtFA").text                  = oFeld.StringItemList( id )
oForm.getByName("txtStückzahl FA gesamt").text = ofrm_FA.getByName("txtStückzahl FA gesamt").text
oForm.getByName("txtVersion").text             = ofrm_FA.getByName("txtVersion").text
g

Re: Formular mit GET/POST

von S.Eder » Do, 29.09.2011 16:16

Ich möchte alles in tab_smd1 schreiben. ( tab_FA soll nur eine Hilfestellung sein damit man es nicht von Hand eingeben muss)

lg

Re: Formular mit GET/POST

von gogo » Mi, 28.09.2011 18:32

Dein Formular zeigt 2 verschiedene Daten an ... wenn Du so willst: Du hast 2 Formulare in einem Fenster:

Eines heißt 'MainForm' und zeigt die Daten aus der Tabelle 'tab_smd1'
das andere heißt 'frm_FA' und zeigt die Daten aus der Tabelle 'tab_FA'

WAS möchtest Du jetzt WOHIN geschrieben haben?

g

Re: Formular mit GET/POST

von S.Eder » Mi, 28.09.2011 09:00

Soo, hab jetzt ein Makro gefunden das anscheinen von einem Kontrollfeld in das andere übertragt.
Jedoch kann ich es selber nicht umschreiben :? , falls irgendwer Zeit hat würde er mir hier sehr weiterhelfen. Damit der Filter in das Formular übernommen wird ...

Code: Alles auswählen

    Sub KUNDENNUMMER_UEBERNEHMEN

    'ziel:       fmtkdnr
    'quelle:    txtkdnr

    Dim oFeld as variant
    Dim oDoc as variant
    Dim oForm as variant

       oDoc = ThisComponent
       oForm = oDoc.DrawPage.Forms.getByName("Kunde")
    '   oForm.reload()
       oFeld = oForm.getbyname("txtkdnr")
       iKdNr = oFeld.text
       
       If iKdNr = "" then
          sNachricht = "Neuen Kunden erst speichern! " + chr(13) + "Dann erneut übertragen. "
          If MsgBox (sNachricht ,48+1,"ACHTUNG") = 1 Then exit sub
       End If
       
       oForm2 = oDoc.DrawPage.Forms.getByName("rechnungen")
       oFeld2 = oForm2.getbyname("fmtkdnr")

       If oFeld2.text <> "" then
          sNachricht = "Kunde schon eingetragen! " + chr(13) + chr(13)+ "Soll der vorhandene Eintrag ersetzt werden? "
          If MsgBox (sNachricht ,32+1,"ACHTUNG") = 2 Then exit sub
       End If

       oFeld2.text = iKdNr
               
    End Sub


Re: Formular mit GET/POST

von S.Eder » Di, 27.09.2011 15:02

Ist es möglich einen globalen Button zu erstellen? - Um einen kompletten Datensatz zu erzeugen

Aus dem Filter + leeren Formular ? So wäre meine aktuelle Idee...


lg

Re: Formular mit GET/POST

von komma4 » Di, 27.09.2011 15:00

S.Eder hat geschrieben:Also das mit den wrong parametern ist einfach ein "Variablen - Übergabe" Fehler?
Die Fehlermeldung kommt bei der Übergabe einer falschen Anzahl von Parametern.

Die Sub refresh_FA erwartet einen [event-]Parameter.
Der wird automatisch übergeben, wenn die Prozedur über das Ereignis aufgerufen wird.

Re: Formular mit GET/POST

von S.Eder » Di, 27.09.2011 14:15

Hi,

könntest du neben den Befehlen kurz eine Beschreibung hinterlassen.
Damit ich das Makro mal verstehe.

Bsp:

Code: Alles auswählen

If(A==1) {} // wenn die Variable A 1 ist wird die IF Anweisung durchlaufen.
Also das mit den wrong parametern ist einfach ein "Variablen - Übergabe" Fehler? = So verstehe ich es jetzt aufjedenfalls

lg

Re: Formular mit GET/POST

von komma4 » Mo, 26.09.2011 09:25

Die Fehlermeldung sagt, dass eine falsche Anzahl Parameter übergeben wird:

Du rufst über [rechte Maustaste]Kontrollfeld...>Ereignisse>Modifiziert auf - da wird der EVENT Parameter übergeben

Deine SUB sieht dann so aus:

Code: Alles auswählen

Sub refresh_FA( oEvent )

Re: Formular mit GET/POST

von S.Eder » Mo, 26.09.2011 08:56

Ja ist es eigendlich. :?

Ich hab mal einen Screen gemacht von der Fehlermeldung, und werde mich jetzt mal in die Tutorials einlesen.
OOForum2.jpg
OOForum2.jpg (24.29 KiB) 2103 mal betrachtet

lg

Re: Formular mit GET/POST

von komma4 » Fr, 23.09.2011 13:34

S.Eder hat geschrieben:Bekomme hier einen Laufzeitfehler!?

Bitte genauen Text evtl. Fehlermeldungen angeben!

Prüfe, ob das Kontrollelement "txtFA":
  • ein Textfeld ist
  • im Formular MainForm liegt (Formular-Navigator); da ist es jedenfalls in meiner Beispieldatei

Re: Formular mit GET/POST

von S.Eder » Fr, 23.09.2011 12:45

Code: Alles auswählen

oForm.getByName( "txtFA" ).String = id
Bekomme hier einen Laufzeitfehler!?


Moderation,4: Vollzitat gekürzt

Re: Formular mit GET/POST

von komma4 » Fr, 23.09.2011 11:15

Code: Alles auswählen

Sub refresh_FA( oEvent ) 
' Routine zum Einstellen
' 2011-09-16
' 2011-09-23

' alle Formulare
oForms = oEvent.Source.Model.Parent.Parent

oForm = oForms.getByName( "MainForm" )
ofrm_FA = oForms.getByName( "frm_FA" )

'aktuellen Wert 
oFeld = oForm.getByName( "lst_FA")

id = oFeld.String

With ofrm_FA
 .filter = "FA = '" & id  & "'"
 .ApplyFilter=true
 .reload
End With 

oForm.getByName( "txtFA" ).String = id

End Sub

Gebunden an Ereignis "Fokusverlust" des ehemaligen Listenfeldes.




Standardtipps zum Erlernen von StarBasic:

Andrews Makro-Dokument
und ein Objekt-Inspektions-Tool, wie
XRAY

siehe auch: Andrews Base-Dokument


OOo Base Tutorials: http://www.tutorialsforopenoffice.org/c ... /base.html

Re: Formular mit GET/POST

von S.Eder » Fr, 23.09.2011 10:53

Hey,

Echt toll geworden, jedoch wollte ich es jetzt ohne Listenfeld probieren und mit einem normalen Textfeld funktioniert es nicht ( liegt das am Makro oder).
Da es nachher zuviele FA's geben würde um die zu suchen

Desweiteren wollte ich ein Marko erstellen damit die Felder FA mit FA verknüpft werden.

Code: Alles auswählen

Sub refresh_FA( oEvent ) 
' Routine zum Einstellen
' 2011 - 23 - 09

' alle Formulare
oForms = oEvent.Source.Model.Parent.Parent

oForm = oForms.getByName( "MainForm" )
ofrm_FA = oForms.getByName( "frm_FA" )

'aktuellen Wert in ein anderes Feld schreiben 
 oFeld.getbyName("txtFA") = oForm.getByName( "lst_FA")
 oFeld.getbyName("txtBaugruppe") = oForm.getByName( "lst_FA")
 oFeld.getbyName("txtVersion") = oForm.getByName( "lst_FA")
 oFeld.getbyName("txtStückzahl FA gesamt") = oForm.getByName( "lst_FA")
End Sub
bekomme jedoch einen Fehler das er die Variable nicht kennt?
Kann ich so Textfelder nicht ansprechen ?
Gibt es hier ein gutes Tutorial ? Wie man Formulare/Felder anspricht per Makro

Re: Formular mit GET/POST

von komma4 » Do, 22.09.2011 11:42

Habe Dir mal ein Beispiel gebastelt:

Das Listenfeld FA oben wird aus der tab_FA gespeist.

Bei einem Wechsel des angezeigten Werts greift das (Eigenschaften>Ereignisse>)Modifiziert-Makro und setzt die Felder der Unterform frm_FA durch Hinzufügen eines Filters.

Den Rest darfst Du selbst basteln.

Viel Erfolg!
db_fehler.odb
ODB mit Listenfeld-Filter im Formular
(36.59 KiB) 81-mal heruntergeladen

Re: Formular mit GET/POST

von S.Eder » Mi, 21.09.2011 14:07

Ja ich gebe einfach das Passwort bekannt :-).
Das Passwort lautet:"com"

Nach oben