LO & MySQL autoexec funzia?

Discussioni sulle caratteristiche di database
Rispondi
Avatar utente
Rocky62
Messaggi: 61
Iscritto il: domenica 30 marzo 2014, 11:36

LO & MySQL autoexec funzia?

Messaggio da Rocky62 »

mi sovviene un dubbio:

formulario LO con nome esercizio1.comuni
utente user con passw

perchè questa macro all'apertura del dbase non mi apre il formulario chiedendomi user e passw come mi aspettavo?

Codice: Seleziona tutto

Sub AutoExec
Dim InteractionHandler As Object
InteractionHandler = createUnoService("com.sun.star.sdb.InteractionHandler")
ThisDatabaseDocument.CurrentController.connect("","")
ThisDatabaseDocument.FormDocuments.getByName ( "esercizio1.comuni" ).open       ' ( "Nome del formulario da aprire")
End Sub
 Editato: Aggiunta codifica (Admin) 
...sono un schiappa...
WIN10 - LibreOffice Versione: 7.3.7.2 :ucrazy:
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8946
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: LO & MySQL autoexec funzia?

Messaggio da charlie »

A quale evento hai assegnato la macro?
charlie
macOS 14.6.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Avatar utente
Rocky62
Messaggi: 61
Iscritto il: domenica 30 marzo 2014, 11:36

Re: LO & MySQL autoexec funzia?

Messaggio da Rocky62 »

...durante il caricamento... :ucrazy:
...sono un schiappa...
WIN10 - LibreOffice Versione: 7.3.7.2 :ucrazy:
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8946
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: LO & MySQL autoexec funzia?

Messaggio da charlie »

Deve essere un evento del database:
Allegati
Schermata 07-2457953 alle 06.38.04.png
charlie
macOS 14.6.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Avatar utente
Rocky62
Messaggi: 61
Iscritto il: domenica 30 marzo 2014, 11:36

Re: LO & MySQL autoexec funzia?

Messaggio da Rocky62 »

grazie Charlie della cortesia. ho messo la macro su dbase, ma all'apertura mi da questo errore.. :knock:
mysql è in localhost chiaramente... :|
Allegati
errore.JPG
...sono un schiappa...
WIN10 - LibreOffice Versione: 7.3.7.2 :ucrazy:
vladboscaneanu
Volontario
Volontario
Messaggi: 380
Iscritto il: martedì 22 ottobre 2013, 1:35

Re: LO & MySQL autoexec funzia?

Messaggio da vladboscaneanu »

E ovvio questo errore perche il metodo connect richiede due argomenti ,username e la password.
Nella tua riga tali valori sono vuoti (.connect("","") ) ,invece di (.connect("ilmiousername", "lamiapassword"))
LibreOffice ultima versione su Windows 10
Avatar utente
Rocky62
Messaggi: 61
Iscritto il: domenica 30 marzo 2014, 11:36

Re: LO & MySQL autoexec funzia?

Messaggio da Rocky62 »

ok.
.. ma allora mi chiedo: cosa scrivo come argomenti se esistono più utenti ovviamente con diverse passw?
forse allora manca qualche riga di codice? :ucrazy:
...sono un schiappa...
WIN10 - LibreOffice Versione: 7.3.7.2 :ucrazy:
vladboscaneanu
Volontario
Volontario
Messaggi: 380
Iscritto il: martedì 22 ottobre 2013, 1:35

Re: LO & MySQL autoexec funzia?

Messaggio da vladboscaneanu »

Per stabilire la connessione prova questa versione :

Codice: Seleziona tutto

Sub AutoExec

InteractionHandler = createUnoService("com.sun.star.sdb.InteractionHandler")
ThiComponent.DataSource.ConnectWithCompletion(InteractionHandler)
if ThisComponent.CurrentController.isConnected() Then
ThisDatabaseDocument.FormDocuments.getByName ( "esercizio1.comuni" ).open ' ( "Nome del formulario da aprire")
end if

End Sub
LibreOffice ultima versione su Windows 10
Avatar utente
Rocky62
Messaggi: 61
Iscritto il: domenica 30 marzo 2014, 11:36

Re: LO & MySQL autoexec funzia?

Messaggio da Rocky62 »

mi da questo errore...
Allegati
errore.JPG
...sono un schiappa...
WIN10 - LibreOffice Versione: 7.3.7.2 :ucrazy:
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8946
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: LO & MySQL autoexec funzia?

Messaggio da charlie »

Questa, in questo file: viewtopic.php?f=13&t=8105&p=43792&hilit ... xec#p43791, funzionava.

Codice: Seleziona tutto

REM ----------------------------------------------------------------------
Sub AutoExec 
On Error Goto HandleError 
Dim LastFrame As Object 
Dim NumFrames As Integer 
Static FormDocs As Object 
Dim DBDoc As Object 
Dim ImpName As String 
Dim DataSource As Object 
Dim Conn As Object 
Dim Args(1) As New com.sun.star.beans.PropertyValue 
Dim FormName As String 
Dim FormDoc As Object 

FormName="Eqonomize" REM CHANGE TO YOUR FORM NAME 

ImpName="com.sun.star.comp.dba.ODatabaseDocument" 
NumFrames=StarDesktop.Frames.Count 
LastFrame=StarDesktop.Frames.getByIndex(NumFrames-1) 
If LastFrame.Frames.Count>1 Then 
Exit Sub 
End If 
If Not (LastFrame.Controller.Model.ImplementationName=ImpName) Then 
Exit Sub REM not a db doc 
End If 
DataSource=LastFrame.Controller.DataSource 
DBDoc=DataSource.DatabaseDocument 
FormDocs=DBDoc.FormDocuments 
Conn=DataSource.getConnection("","") REM no user/password 
Args(0).Name="ActiveConnection" : Args(0).Value=Conn 
if FormDocs.hasByName(FormName) Then 
FormDoc=FormDocs.loadComponentFromURL(FormName,"_self",2,Args() ) 
FormDoc.CurrentController.Frame.ContainerWindow.setFocus() 
End If 
HandleError: 
If Err<>0 Then 
Exit Sub 
End If 
End Sub	 'Non ci sono commenti
charlie
macOS 14.6.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Avatar utente
Rocky62
Messaggi: 61
Iscritto il: domenica 30 marzo 2014, 11:36

Re: LO & MySQL autoexec funzia?

Messaggio da Rocky62 »

grazie Charlie,
così funziona e mi si apre il FORM che indico, però non chiede nessuna password.... non è strano :?:
...sono un schiappa...
WIN10 - LibreOffice Versione: 7.3.7.2 :ucrazy:
Avatar utente
Rocky62
Messaggi: 61
Iscritto il: domenica 30 marzo 2014, 11:36

Re: LO & MySQL autoexec funzia?

Messaggio da Rocky62 »

....in particolare si apre il menu, ma se clicco per selezionare il form che mi interessa mi da errore e mi dice che non sonno connesso al dbase.
se invece clicco sul form menu (dopo averlo chiuso naturalmente) mi chiede le credenziali. mi connetto e riaprendosi il menu si comporta bene.
non saprei forse serve dire a LO che mentra esegue autoexec deve chiedere di loggarsi... :ucrazy:
Allegati
errore.JPG
Ultima modifica di Rocky62 il mercoledì 19 luglio 2017, 22:49, modificato 1 volta in totale.
...sono un schiappa...
WIN10 - LibreOffice Versione: 7.3.7.2 :ucrazy:
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8946
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: LO & MySQL autoexec funzia?

Messaggio da charlie »

Compila la riga

Codice: Seleziona tutto

Conn=DataSource.getConnection("","") 
penso funzioni.

Edit: le mie istruziini valgono per database incorporato, per MySql non so.
charlie
macOS 14.6.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Avatar utente
Rocky62
Messaggi: 61
Iscritto il: domenica 30 marzo 2014, 11:36

Re: LO & MySQL autoexec funzia?

Messaggio da Rocky62 »

....nisba.
forse è sbagliato l'approccio...
secondo te funzionerebbe creando una tabella users all'nterno del dbase in mysql.
creare una form in LO che si apre con la macro da te postata (senza user e pass).
questa form avrebbe due campi: 1 user 2 passw con tasto connetti e in caso positivo, stabilita la connessione e impostato come evento dopo l'invio aprire una form (per es MENU)? :ucrazy:
...sono un schiappa...
WIN10 - LibreOffice Versione: 7.3.7.2 :ucrazy:
vladboscaneanu
Volontario
Volontario
Messaggi: 380
Iscritto il: martedì 22 ottobre 2013, 1:35

Re: LO & MySQL autoexec funzia?

Messaggio da vladboscaneanu »

Ciao.
In effetti, scrivendo veloce, ho commesso un errore:
-- la terza riga deve iniziare con

Codice: Seleziona tutto

ThisComponent
non

Codice: Seleziona tutto

ThiComponent
In questo modo dovrebbe funzionare.
LibreOffice ultima versione su Windows 10
Rispondi