Befehle/ Makros für Steuerungelemente, wie Speichern, Löschen
Moderator: Moderatoren
-
- **
- Beiträge: 27
- Registriert: Mi, 01.02.2017 11:13
Befehle/ Makros für Steuerungelemente, wie Speichern, Löschen
Hallo,
ich bin auf der Suche nach einer Lösung für mein Problem in Calc.
Ich habe mir eine Maske mithilfe der Steuerungselemente "zusammengebastelt". (Ich wollte eine individuelle Lösung, die Maske sollte in der Mappe inkludiert sein: 4 Textbosen, 1 Listbox und 4 Schaltflächen)
Nun schaffe ich es nicht, die Schaltflächen "Speichern", "Beenden", "Löschen", "Neuer Eintrag" mit passenden Befehlen also Makros zu belegen.
Ich möchte, dass die eingetragenen Daten in den Textboxen automatisch in eine Tabelle im zweiten Tabellenblatt übertragen werden. Jeder Datensatz ein neue Zeile. Dies soll unter Speichern geschehen. unter "Neuer Eintrag" verstehe ich, dass die Inhalte der Textboxen in die Tabelle übertragen werden und sich die Textboxen wieder leeren für einen neuen Eintrag.
Unter "löschen" verstehe ich, dass ich ausgewählte Datensätze löschen kann. Diese möchte ich mir in der Listbox anzeigen lassen und somit auswählen können. Unter "Beenden" verstehe ich, dass sich das Dokument selbst abspeichert und schließt.
Vielen Dank schon einmal!!
ich bin auf der Suche nach einer Lösung für mein Problem in Calc.
Ich habe mir eine Maske mithilfe der Steuerungselemente "zusammengebastelt". (Ich wollte eine individuelle Lösung, die Maske sollte in der Mappe inkludiert sein: 4 Textbosen, 1 Listbox und 4 Schaltflächen)
Nun schaffe ich es nicht, die Schaltflächen "Speichern", "Beenden", "Löschen", "Neuer Eintrag" mit passenden Befehlen also Makros zu belegen.
Ich möchte, dass die eingetragenen Daten in den Textboxen automatisch in eine Tabelle im zweiten Tabellenblatt übertragen werden. Jeder Datensatz ein neue Zeile. Dies soll unter Speichern geschehen. unter "Neuer Eintrag" verstehe ich, dass die Inhalte der Textboxen in die Tabelle übertragen werden und sich die Textboxen wieder leeren für einen neuen Eintrag.
Unter "löschen" verstehe ich, dass ich ausgewählte Datensätze löschen kann. Diese möchte ich mir in der Listbox anzeigen lassen und somit auswählen können. Unter "Beenden" verstehe ich, dass sich das Dokument selbst abspeichert und schließt.
Vielen Dank schon einmal!!
Re: Befehle/ Makros für Steuerungelemente, wie Speichern, Löschen
-mit Ansicht-Symbolleisten-Formularsteuerelemente die Steuerelemente-Symbolleiste anzeigenNun schaffe ich es nicht, die Schaltflächen "Speichern", "Beenden", "Löschen", "Neuer Eintrag" mit passenden Befehlen also Makros zu belegen.
-dort auf das Icon für "Entwurfsmodus an/aus" klicken
-die Schaltfläche anklicken und das Kontexmenü erzeugen
-dort Eintrag "Kontrollfeld..." anklicken
-im erscheinenden Dialog zum Register "Ereignisse" wechseln
-dort unter "Aktion ausführen" das gewünschte Makro zuweisen
alles bestätigen und in der Symbolleiste wieder den Entwurfsmodus abschalten.
Gruß
Stephan
-
- **
- Beiträge: 27
- Registriert: Mi, 01.02.2017 11:13
Re: Befehle/ Makros für Steuerungelemente, wie Speichern, Löschen
Danke für deine Antwort, allerdings ist dieser Schritt kein Problem für mich. Ich habe keine Ahnung von oobasic und dementsprechend kann ich gar nicht die Makros nach meinen Vorstellungen erzeugen. Ich bräuchte Vorschläge, wie die 4 Makros auszusehen haben.
Re: Befehle/ Makros für Steuerungelemente, wie Speichern, Löschen
Hallo,
ich fürchte so wie Du es Dir vorstellst, wird es nicht gehen.
Aus eigener Erfahrung weiß ich, dass die Fachleute hier im Forum sehr gern und kompetent helfen.
Doch ein wenig mußt Du schon selbst tun.
Dein "Speichern" ist im Grunde ein Kopieren, oder?
Lies mal hier:
http://www.dannenhoefer.de/faqstarbasic/index.html
Auch im Forum selbst sind viele Anregungen und Beispiele. Einfach googeln.
ich fürchte so wie Du es Dir vorstellst, wird es nicht gehen.
Aus eigener Erfahrung weiß ich, dass die Fachleute hier im Forum sehr gern und kompetent helfen.
Doch ein wenig mußt Du schon selbst tun.
Dein "Speichern" ist im Grunde ein Kopieren, oder?
Lies mal hier:
http://www.dannenhoefer.de/faqstarbasic/index.html
Auch im Forum selbst sind viele Anregungen und Beispiele. Einfach googeln.
Gruß Jörg
Win 10 Pro AOO 4.1.15
Win 10 Pro AOO 4.1.15
-
- **
- Beiträge: 27
- Registriert: Mi, 01.02.2017 11:13
Re: Befehle/ Makros für Steuerungelemente, wie Speichern, Löschen
Vielen Dank für die Anregung. Ich habe mich bereits bei Excel ausprobiert und meine Anforderungen auch selbst erfüllen können, u.a. mit Hilfe des Internets. Excel benutzt aber VBA, die bei OO keine Anwendung findet. Im Internet gibt es keine konkreten Befehle, die es erleichtern, daher habe ich hier auf Hilfe gehofft. Ich habe mich selbstverständlich im Vorhinein schlau gemacht, aber die Sprache OObasic ist für mich nicht so schlüssig. ich komme da einfach nicht weiter.
Re: Befehle/ Makros für Steuerungelemente, wie Speichern, Löschen
Hallo,
trotzdem:
ohne konkrete Fragen wirst Du keine konkreten Antworten bekommen können.
Hilfreich wäre für die Fachleute u.a., wenn Du eine (verfremdete)Beispieldatei hochladen würdest.
trotzdem:
ohne konkrete Fragen wirst Du keine konkreten Antworten bekommen können.
Hilfreich wäre für die Fachleute u.a., wenn Du eine (verfremdete)Beispieldatei hochladen würdest.
Gruß Jörg
Win 10 Pro AOO 4.1.15
Win 10 Pro AOO 4.1.15
Re: Befehle/ Makros für Steuerungelemente, wie Speichern, Löschen
dann schau Dir diese Extension an:Ich bräuchte Vorschläge, wie die 4 Makros auszusehen haben.
http://extensions.services.openoffice.o ... t/dataform
erstens tut Diese weitgehend schon was Du willst (wobei sie einen Dialog und kein Formular nutzt), zweitens hast Du die Möglichkeit Dir dort die genaue Programmierung anzuseghen und kannst daraus lernen.
Gruß
Stephan
-
- **
- Beiträge: 27
- Registriert: Mi, 01.02.2017 11:13
Re: Befehle/ Makros für Steuerungelemente, wie Speichern, Löschen
Fast schon Guten Aben 
@stephan: ich schau mir mal die extension an, danke.

Hier meine Beispieldatei.Hilfreich wäre für die Fachleute u.a., wenn Du eine (verfremdete)Beispieldatei hochladen würdest.
@stephan: ich schau mir mal die extension an, danke.
- Dateianhänge
-
- Beispiel_Ouagadougou.ods
- (13.8 KiB) 163-mal heruntergeladen
Zuletzt geändert von Ouagadougou am Mi, 01.02.2017 18:06, insgesamt 1-mal geändert.
-
- **
- Beiträge: 27
- Registriert: Mi, 01.02.2017 11:13
Re: Befehle/ Makros für Steuerungelemente, wie Speichern, Löschen
Lieber Stephan,
ich habe mir die Extension angesehen, habe allerdings keine Möglichkeit gesehen die Befehle des Dialogs anzusehen.... Ich will ja gerade kein Dialog, sondern ich möchte es in mein Tabellenblatt implementieren
ich habe mir die Extension angesehen, habe allerdings keine Möglichkeit gesehen die Befehle des Dialogs anzusehen.... Ich will ja gerade kein Dialog, sondern ich möchte es in mein Tabellenblatt implementieren

Re: Befehle/ Makros für Steuerungelemente, wie Speichern, Löschen
Hallo,
vielleicht ist eine kleine BASE-Datenbankdatei da besser, anbei eine kleine Version, die alles kann, was du willst, bis auf das Beenden.
Alles ohne ein Makro.
Öffne das Formular per Doppelklick und los gehts.
Gruß R
vielleicht ist eine kleine BASE-Datenbankdatei da besser, anbei eine kleine Version, die alles kann, was du willst, bis auf das Beenden.
Alles ohne ein Makro.
Öffne das Formular per Doppelklick und los gehts.
Gruß R
- Dateianhänge
-
- Ouagadougou.odb
- (13.47 KiB) 215-mal heruntergeladen
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
-
- **
- Beiträge: 27
- Registriert: Mi, 01.02.2017 11:13
Re: Befehle/ Makros für Steuerungelemente, wie Speichern, Löschen
Hallo R,
Das man das auch anders umsetzen kann ist mir bewusst, ich möchte jedoch alles zusammen in Calc machen. In Excel geht das ja auch. Ich brauch ja "nur" die Befehle, die ja auch überall hinterliegen aber nicht zugänglich sind...
Das man das auch anders umsetzen kann ist mir bewusst, ich möchte jedoch alles zusammen in Calc machen. In Excel geht das ja auch. Ich brauch ja "nur" die Befehle, die ja auch überall hinterliegen aber nicht zugänglich sind...
Re: Befehle/ Makros für Steuerungelemente, wie Speichern, Löschen
Upps,
da war noch ein Relikt, dein Makro-Eintrag auf dem Button "Neuer Eintrag", habe ich in der Version anbei gelöscht.
Jetzt funktioniert es.
Gruß R
da war noch ein Relikt, dein Makro-Eintrag auf dem Button "Neuer Eintrag", habe ich in der Version anbei gelöscht.
Jetzt funktioniert es.
Gruß R
- Dateianhänge
-
- Ouagadougou.odb
- (13.27 KiB) 182-mal heruntergeladen
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Befehle/ Makros für Steuerungelemente, wie Speichern, Löschen
mmh, ja ... mir war garnicht bewusst das in dieser Extension der Dialog zur Laufzeit erzeugt wird. Da das geschieht steht das natürlich alles lediglich im Basic-Code und ist nicht über den Dialog zugewiesen.habe allerdings keine Möglichkeit gesehen die Befehle des Dialogs anzusehen....
Im Konkreten werden die Button über das Makro Sub DlgTool_Button (siehe LibDataForm) erzeugt und mit Funktion belegt, im Einzelnen sind das die Aufrufe (siehe BasicModul "DataForm") :
Code: Alles auswählen
DlgTool_Button(oDlg, -5, 17, btnWidth, 14, "btnNuovo", strLocale(CMDNEW))
DlgTool_Button(oDlg, -5, 35, btnWidth, 14, "btnElimina", strLocale(CMDDELETE))
DlgTool_Button(oDlg, -5, 54, btnWidth, 14, "btnRipristina", strLocale(CMDRESTORE))
DlgTool_Button(oDlg, -5, 75, btnWidth, 14, "btnPrec", strLocale(CMDFINDPREV))
DlgTool_Button(oDlg, -5, 93, btnWidth, 14, "btnSucc", strLocale(CMDFINDNEXT))
DlgTool_Button(oDlg, -5, 110, btnWidth, 14, "btnCriteri", strLocale(CMDCRITERIA))
DlgTool_Button(oDlg, -5, 133, btnWidth, 14, "btnChiudi", strLocale(CMDCLOSE))
Code: Alles auswählen
Sub btnNuovo_actionPerformed(oEvent)
if salvaRecord = True Then ' se non ci sono errori nel salvataggio
With oDlg.getControl("scrlBarra")
.Value = .Maximum
End With
nuovoRecord()
End If
End Sub
Sub btnElimina_actionPerformed(oEvent)
Dim oRighe as Object
Dim i as Integer
Dim oAddr
Select Case modalita
Case CRITERI ' azzera i criteri
For i = 1 to nCols
oDlg.getControl("txtCampo" & i).Text = ""
Next
Case MODULO ' rimuove il record corrente
if msgbox(strLocale(MSGDELRECORD), 1 + 48) = 2 Then
' l'utente ha premuto "Annulla"
Exit Sub
End If
oAddr = oRange.getRangeAddress
oAddr.StartRow = oAddr.StartRow + indiceRecord
oAddr.EndRow = oAddr.StartRow
oFoglio.removeRange(oAddr, com.sun.star.sheet.CellDeleteMode.UP)
' aggiorno nRows (le dimensioni di oRange vengono
' aggiornate automaticamente)
nRows = oRange.getRows.Count
' decremento limite massimo della barra
With oDlg.getControl("scrlBarra")
.Maximum = .Maximum - 1
End With
if indiceRecord = nRows Then
' è stato eliminato l'ultimo record
With oDlg.getControl("scrlBarra")
.Value = .Maximum
End With
nuovoRecord()
Else
scorriRecord(indiceRecord)
End If
End Select
End Sub
Sub btnRipristina_actionPerformed(oEvent)
Dim i as Integer
Select Case modalita
Case CRITERI ' ripristina criteri
For i = 1 to nCols
oDlg.getControl("txtCampo" & i).Text = arrCriteri(i)
Next
Case MODULO ' ripristina valori record
if indiceRecord = nRows Then
' si tratta di un nuovo record ancora non salvato
For i = 1 to nCols
' azzera tutti i campi
oDlg.getControl("txtCampo" & i).Text = ""
Next
Else
' rilegge il record corrente dal foglio
scorriRecord(indiceRecord)
End If
oDlg.getControl("btnRipristina").Enable = False
End Select
selezionaTxt(oDlg.getControl("txtCampo1"))
End Sub
Sub btnPrec_actionPerformed(oEvent)
trovaPrecSucc(PREC)
End Sub
Sub btnSucc_actionPerformed(oEvent)
trovaPrecSucc(SUCC)
End Sub
Sub btnCriteri_actionPerformed(oEvent)
cambiaModalita
selezionaTxt(oDlg.getControl("txtCampo1"))
End Sub
Gruß
Stephan
-
- **
- Beiträge: 27
- Registriert: Mi, 01.02.2017 11:13
Re: Befehle/ Makros für Steuerungelemente, wie Speichern, Löschen
Hallo
Danke für deine Recherche, jedoch schaffe ich nicht diese Code-Schnipsel in mein Dokument zu integrieren, sodass es funktioniert.
Kann mir jemand weiterhelfen? (Eine Beispieldatei wurde ein paar Beiträge vorher hochgeladen)
Vielen Dank!
Danke für deine Recherche, jedoch schaffe ich nicht diese Code-Schnipsel in mein Dokument zu integrieren, sodass es funktioniert.
Kann mir jemand weiterhelfen? (Eine Beispieldatei wurde ein paar Beiträge vorher hochgeladen)
Vielen Dank!
Re: Befehle/ Makros für Steuerungelemente, wie Speichern, Löschen
Hallo,
anbei mal ein erster Schritt (praktisch ein zusammenkopierter Code aus der bereits genannte Quelle http://www.dannenhoefer.de/faqstarbasic/index.html)
anbei mal ein erster Schritt (praktisch ein zusammenkopierter Code aus der bereits genannte Quelle http://www.dannenhoefer.de/faqstarbasic/index.html)
- Dateianhänge
-
- Beispiel_Ouagadougou.ods
- (22.36 KiB) 269-mal heruntergeladen
Gruß,
mikeleb
mikeleb