[Risolto] Macro per apertura Report

Creare una macro - Scrivere uno script - Usare le API
Rispondi
Avatar utente
steaz
Messaggi: 88
Iscritto il: lunedì 19 marzo 2012, 8:41

[Risolto] Macro per apertura Report

Messaggio da steaz »

Ciao Ragazzi,

ho un file in cui ho cercato di inserire una macro copiata da un lavoro di Mizio.
Purtroppo mi da un errore.
In pratica io vado nel formulario: Pannello eventi, nell''Area menu' clicco sul menu proposta che voglio stampare, ma mi esce un errore sql e dice che non è possibile aprire il report 'Preventivo'.
Per cortesia, qualcuno mi può aiutare?

Grazie
Allegati
gesmenu.odb
(196.25 KiB) Scaricato 164 volte
Ultima modifica di steaz il mercoledì 22 aprile 2015, 6:41, modificato 1 volta in totale.
LibreOffice 6.1.6.3 - Windows 10
Avatar utente
Mizio1961
Messaggi: 841
Iscritto il: mercoledì 5 ottobre 2011, 22:55
Località: Roma

Re: Macro per apertura Report

Messaggio da Mizio1961 »

Ciao
Io uso il sistema di reportistica standard di base quindi i tuoi report in O.R.B. non li riesco ad aprire.
Il problema potrebbe stare nella riga

Codice: Seleziona tutto

sFltRp  = " WHERE Gestione eventi menu.id_menu_evento = " & nIDFat    ' FILTRO PER LA STAMPA
che potrebbe lavorare male sugli spazi nei nomi di campi e tabelle.
Se hai modo di essere più specifico sull'errore SQL che ti appare forse riusciamo ad aiutarti più facilmente
Attendiamo tue nuove
Saluti By Mizio e... buon divertimento ;-)
OpenOffice Windows - Libre su Ubuntu Desktop e Notebook WiFi
Per cortesia, inserisci [Risolto] nel Titolo iniziale se il tuo problema è stato risolto. ;-)
Avatar utente
steaz
Messaggi: 88
Iscritto il: lunedì 19 marzo 2012, 8:41

Re: Macro per apertura Report

Messaggio da steaz »

Ho pensato anche io che il problema stesse nel fatto che non riesce ad aprire il report , perchè il tuo è quello in dotazione a Oo, mentre io ho usato Oracle R B.
L'errore sql mi esce perchè ho smanettato un po troppo per cercare di risolvere.
In pratica, esce l'avviso errore sql, ma non spiega di che si tratta, allora apro la query di destinazione in modalità vista sql e vedo che la macro mi ha piazzato un where.....id22, esattamente come volevo: il record con id 22 viene individuato, ma poi non riesce a procedere verso il report, ed è lì che, non andando avanti, si blocca la routine e mi dice errore sql. Mi è sufficiente cancellare quel where, che tutto ritorna come prima, purchè non faccia andare la macro.

Grazie

PS Se hai una macro già pronta, con cui cliccando su una riga di record, mi si apre un report corrispondente a quel record, posso sperare di riuscire ad adattarla
LibreOffice 6.1.6.3 - Windows 10
Avatar utente
Mizio1961
Messaggi: 841
Iscritto il: mercoledì 5 ottobre 2011, 22:55
Località: Roma

Re: Macro per apertura Report

Messaggio da Mizio1961 »

Lo so, fa così
Il problema è che con AOO e con LO per esperienza occorre muoversi a passetti.
Basta poco per perdersi in errori che sembrano incomprensibili.
Quindi usare ORB certe volte significa aggiungere incognite a incognite
Un consiglio per evitare di aggiungere problemi a problemi: Usare nomi brevi, sintetici, scritti in MAIUSCOLO e SENZA SPAZI; questo sia per le tabelle, che per i campi dati, ecc PER TUTTO INSOMMA
Quindi con ORB potrebbe anche essere la mia buona e vecchia macro a interfacciarsi male
Fai sapere
Saluti ;-)
OpenOffice Windows - Libre su Ubuntu Desktop e Notebook WiFi
Per cortesia, inserisci [Risolto] nel Titolo iniziale se il tuo problema è stato risolto. ;-)
Avatar utente
steaz
Messaggi: 88
Iscritto il: lunedì 19 marzo 2012, 8:41

Re: Macro per apertura Report

Messaggio da steaz »

Ok. Grazie
LibreOffice 6.1.6.3 - Windows 10
vladboscaneanu
Volontario
Volontario
Messaggi: 380
Iscritto il: martedì 22 ottobre 2013, 1:35

Re: Macro per apertura Report

Messaggio da vladboscaneanu »

Ricontrolla il comando SQL della query Que_stampa_preventivi.
LibreOffice ultima versione su Windows 10
Avatar utente
steaz
Messaggi: 88
Iscritto il: lunedì 19 marzo 2012, 8:41

Re: Macro per apertura Report

Messaggio da steaz »

Ho risolto con questa, impostando una query filtro

Codice: Seleziona tutto

End Sub
Sub menudelgiorno( Evento )
Dim oReporte As Object	
Dim oConsulta As Object
Dim oCampoID As Object
Dim oForm As Object
	'El formulario activo
	oForm = Evento.Source.Model.Parent	
	'El campo con el Id
	oCampoID = oForm.GetByName("id_nominativo")
	'Debe ser mayor a cero
	If oCampoID.BoundField.Int < 0 Then Exit Sub
		'La consulta en la que se basa el reporte
		oConsulta = ThisDatabaseDocument.DataSource.QueryDefinitions.getByName ("qfiltro")	
		'Modificamos la consulta de modo que tome el registro actual				
		oConsulta.Command = "SELECT ""id_nominativo"" FROM ""Eventi e nominativi"" WHERE ""id_nominativo"" = " & oCampoID.BoundField.Int
		'El informe a mostrar
		oReporte = ThisDatabaseDocument.ReportDocuments.getByName ("MenuDelGiorno" )	
		'Mostramos el reporte
		oReporte.Open
End Sub
Grazie di tutto
LibreOffice 6.1.6.3 - Windows 10
Avatar utente
steaz
Messaggi: 88
Iscritto il: lunedì 19 marzo 2012, 8:41

Re: Macro per apertura Report

Messaggio da steaz »

Ciao Mizio,

ho provato ad usare la tua macro, dopo aver disinstallato O Rep Builder.
Ho creato un report per testare la tua macro e ha funzionato perfettamente.
Purtroppo il report di serie di Oo ha delle grosse limitazioni rispetto a O rep builder (almeno così mi sembra).

Grazie dell'interessamento
LibreOffice 6.1.6.3 - Windows 10
Avatar utente
Mizio1961
Messaggi: 841
Iscritto il: mercoledì 5 ottobre 2011, 22:55
Località: Roma

Re: [Risolto] Macro per apertura Report

Messaggio da Mizio1961 »

Ok, al prossimo argomento
;-)
OpenOffice Windows - Libre su Ubuntu Desktop e Notebook WiFi
Per cortesia, inserisci [Risolto] nel Titolo iniziale se il tuo problema è stato risolto. ;-)
Rispondi