RISOLTO - Pulsanti per inserimento dati in campi formulario

Discussioni sulle caratteristiche di database
Rispondi
robce64
Messaggi: 177
Iscritto il: giovedì 12 gennaio 2012, 20:05

RISOLTO - Pulsanti per inserimento dati in campi formulario

Messaggio da robce64 »

Apro questo nuovo argomento in quanto in quello aperto precedentemente non avevo descritto in modo completo il problema che devo affrontare e che il bravissimo Vladko aveva sapientemente risolto.
Il problema è come fare per avere in un formulario una serie di pulsanti collegati a macro con dei valori di testo prestabiliti, in cui alla pressione di un tasto viene inserito il valore corrispondente nel campo di testo dove c'è il cursore del mouse. Chiaramente questa operazione deve essere possibile farla su diversi campi testo presenti nel formulario.
Allego un file di esempio.

Grazie!

Sul forum americano sono riuscito a trovare la macro giusta per il mio caso, chiaramente nel codice c'è da fare la sostituzione del testo da inserire con quello desiderato.
Allego per tutti il codice macro.

Codice: Seleziona tutto

Global nCursor As Long
Global sTextBox As String
Global oText As Object

Sub SingleLine_TextBox_StoreCursor (oEvent As Object) 'Text Box > Events > When Losing Focus 
   sTextBox = oEvent.Source.Model.Name
   oText = oEvent.Source.AccessibleContext
   nCursor = oText.CaretPosition
End Sub 

Sub SingleLine_TextBox_Insert_Text1 (oEvent As Object) 'Button > Events > Execute 
   oText.insertText(("Hello World"),nCursor)
   oForm = oEvent.Source.Model.Parent
   oForm.GetByName(sTextBox).commit()
   IF oForm.isnew THEN oForm.insertRow() ELSE oForm.updateRow()
End Sub 

Sub SingleLine_TextBox_Insert_Text2 (oEvent As Object) 'Button > Events > Execute 
   oText.insertText(("Goodbye"),nCursor)
   oForm = oEvent.Source.Model.Parent
   oForm.GetByName(sTextBox).commit()
   IF oForm.isnew THEN oForm.insertRow() ELSE oForm.updateRow()
End Sub 
Allegati
Nuovo database.odb
(15.26 KiB) Scaricato 237 volte
Ultima modifica di robce64 il mercoledì 22 febbraio 2012, 21:15, modificato 1 volta in totale.
LibreOffice 4.1.4.2 su Windows 8.1 64bit
vladko
Messaggi: 1637
Iscritto il: martedì 3 agosto 2010, 8:02

Re: Pulsanti per inserimento dati in campi formulario

Messaggio da vladko »

comincia a guardare nelle faq di OpenOffice (trovi il link in tutorial) e cerca focus
AOO 3.4.1 AOO341m1(Build:9593) Linux Mint Debian/Mate 64bit java 1.6.0.22 XP PRO/32bit
con Base --> sempre backup!!!
Se problema è Risolto --> Inserire [Risolto]nel titolo come spiega qui, grazie :-)
robce64
Messaggi: 177
Iscritto il: giovedì 12 gennaio 2012, 20:05

Re: RISOLTO - Pulsanti per inserimento dati in campi formula

Messaggio da robce64 »

Ho trovato la soluzione sul forum americano. Nel primo mio messaggio ho messo il codice macro se dovesse servire a qualche altro!
:bravo:
LibreOffice 4.1.4.2 su Windows 8.1 64bit
Avatar utente
bydindi
Messaggi: 258
Iscritto il: lunedì 21 febbraio 2011, 10:16

Re: RISOLTO - Pulsanti per inserimento dati in campi formula

Messaggio da bydindi »

Ciao robce64

Potresti mettere la macro nel file che hai allegato?
OOo 4.1.1 su Windows Vista
robce64
Messaggi: 177
Iscritto il: giovedì 12 gennaio 2012, 20:05

Re: RISOLTO - Pulsanti per inserimento dati in campi formula

Messaggio da robce64 »

Nel file di esempio che allego ho messo le macro a tutti i pulsanti.
Ricordarsi che ad ogni casella di testo dove si vuol far apparire il testo tramite pulsante, deve essere associata all'evento "alla perdita del punto focale" la macro "SingleLine_TextBox_StoreCursor".
Al pulsante, deve essere associata all'evento "eseguire l'azione" la macro che scrive il testo.
Allegati
Nuovo database.odb
(15.42 KiB) Scaricato 240 volte
LibreOffice 4.1.4.2 su Windows 8.1 64bit
turi
Messaggi: 154
Iscritto il: sabato 4 dicembre 2010, 15:34

Re: RISOLTO - Pulsanti per inserimento dati in campi formula

Messaggio da turi »

Ciao, e se volessi che il testo della macro venga inserito in una griglia collegata tramite relazioni ad un'altra tabella?
OpenOffice.org 3.3.0 su windows 7 e windows XP
robce64
Messaggi: 177
Iscritto il: giovedì 12 gennaio 2012, 20:05

Re: RISOLTO - Pulsanti per inserimento dati in campi formula

Messaggio da robce64 »

Questo non te lo so dire, prova a chiedere oltre che su questo forum anche su quello estero come ho fatto io ... li mi hanno risolto il problema nel giro di 3 ore.
http://user.services.openoffice.org/en/ ... m.php?f=13

:super:
LibreOffice 4.1.4.2 su Windows 8.1 64bit
turi
Messaggi: 154
Iscritto il: sabato 4 dicembre 2010, 15:34

Re: RISOLTO - Pulsanti per inserimento dati in campi formula

Messaggio da turi »

negato in inglese XD
OpenOffice.org 3.3.0 su windows 7 e windows XP
Rispondi