Allegati PDF in un campo.

Discussioni sulle caratteristiche di database
Rispondi
Stefano V.
Messaggi: 137
Iscritto il: domenica 31 marzo 2019, 15:51

Allegati PDF in un campo.

Messaggio da Stefano V. »

 Editato: L'argomento si riferisce a questa discussione: viewtopic.php?f=13&t=9323&p=51797&hilit ... mpo#p51226 
Buongiorno
Mi intrufolo nella conversazione perché credo possa risolvere il mio problema. Ho scaricato il db ApriPDF e ho visto che funziona anche per aprire files di immagine con l'applicazione appropriata. Quindi ho copiato il codice della macro nel mio modello (semplificato hyperlink) dove c'è un formulario (si chiama "filtro") con un campo testo dove in seguito alla ricerca che si fa, esce un dato percorso a una foto stipata nel mio computer. Io la vorrei poter aprire con l'applicazione esterna mediante la pressione del tasto "visualizza" ma ho capito che nel mio caso la macro non funziona perché il percorso non è preceduto da "file///", allora volevo chiedere qual'è il comando/macro/oquellocheserve per anteporre automaticamente (se si può) a un dato testo (che nel mio caso è un percorso) quello che uno vuole (nel mio caso le lettere "file:///") in modo che la macro funzioni?

(questa domanda è collegata a quella dell'argomento da me chiamato "ricerche incoerenti") :D

Grazie comunque
Allegati
Semplificato hiperlink.odb
(23.06 KiB) Scaricato 127 volte
Ultima modifica di Stefano V. il lunedì 22 aprile 2019, 1:00, modificato 6 volte in totale.
LibreOffice Versione: 7.5.9.2 installata su macOS Big Sur 11.7.10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8819
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Allegati PDF in un campo.

Messaggio da charlie »

Ciao, la tua richiesta era "nascosta" in un argomento con il tag [Risolto].
L'ho reso autonomo per una maggiore visibilità.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Stefano V.
Messaggi: 137
Iscritto il: domenica 31 marzo 2019, 15:51

Re: Allegati PDF in un campo.

Messaggio da Stefano V. »

Grazie Charlie di aver reso il topic visibile,
credo di aver risolto il mio problema:

Rispetto al database precedentemente postato, in "t_filtro" ho modificato la fonte di dati del subformulario chiamato "Formulario link foto" che gestisce il collegamento ipertestuale che prima era la tabella "t-foto" e ora è il comando SQL <SELECT"ID_Documento", 'file:///'||"foto"AS"foto" FROM "t_foto"> in questo modo tutti i campi contenuti nella tabella "t_foto", colonna "foto" avranno anteposta la stringa "file:///" che serve per far funzionare la macro chiamata "openurlimm" da te consigliata nell'altro post.

Poi nelle proprietà del sub formulario "Formulario link foto" ho specificato il collegamento "da" e "per" "ID_Documento" col formulario "ricerca" affinché il sub formulario "Formulario link foto" fosse sincronizzato con il formulario immediatamente sovrastante, chiamato "ricerca".

Il risultato è "apparentemente" deludente perché chi scaricherà il db non vedrà nessun immagine ma si noterà che allo scorrere dei documenti (a scopo di esempio solo i primi due) contenuti nella tabella di output del formulario "t_filtro" il campo foto, che mostra effettivamente solo un percorso, cambierà in base al documento selezionato, (perché ad ogni documento è collegata una diversa foto con un proprio percorso). In realtà, se il database verrà popolato da foto residenti nel computer dell'utente (ma devono essere collocate in un disco esterno rispetto a quello dove si trova un database), schiacciando il tasto "visualizza" esse si vedranno mediante il programma di visualizzazione associato di default alle immagini.

Diciamo quindi che "lo scopo del gioco" è stato raggiunto.
EVVIVA!
posto il db aggiornato.
Allegati
Semplificato hiperlink 2.odb
(23.1 KiB) Scaricato 151 volte
LibreOffice Versione: 7.5.9.2 installata su macOS Big Sur 11.7.10
Stefano V.
Messaggi: 137
Iscritto il: domenica 31 marzo 2019, 15:51

Re: Allegati PDF in un campo.

Messaggio da Stefano V. »

Ho dovuto togliere [risolto] perché è "nato" un problema...
Avrei una domanda specifica, se qualcuno può aiutarmi,

avevo necessità di poter visualizzare tramite "anteprima", che è il programma associato all'apertura delle immagini che io utilizzo sul mac, una data foto in base a un link, così come indicato nel database precedentemente postato in questo topic (di nome "hyperlink"). La cosa funzionava bene tenendo presente che il db era sull'hard disk del computer e le foto su un disco esterno. Avendo però l'esigenza di tenere insieme sul disco esterno foto e db, ho svuotato quest'ultimo di tutti i record originari, l'ho copiato sul disco esterno (dove si trovano anche le foto) e ho iniziato a ricollocare i record (che comprendono anche links alle foto) in modo che i "percorsi" alle foto stesse fossero aggiornati. Purtroppo, fatta questa operazione, ho scoperto che la macro contenuta nel db non funziona più e, schiacciando il tasto cui è associata non succede più nulla. Temo che il guaio dipenda dalla parte iniziale del percorso "file:///" ma non so il perchè e poi trovo tutte spiegazioni che identificano i percorsi per Windows che ha le proverbiali C:/... invece il mac è più "sintetico" e direi "criptico" (almeno per un ignorante come me) e trovo in rete molti meno esempi...

la macro in discorso è questa:

Codice: Seleziona tutto

function openurlimm(oEv as object)
' 
   dim oForm,oTextBox
   oForm=oEv.source.model.parent
   oTextBox=oForm.getbyname("fotolink")
   if FileExists ( oTextBox.text) then
      oEv.source.model.targeturl=oTextBox.text
      openurlimm=true ' Do the programm when the file exists
      else 
      openurlimm=false ' The file does not exist and do nothing
   end if
  ' print  convertfromurl(oTextBox.text)
End function
quello che chiedo è: questa macro si può modificare per collegarla direttamente a un record di una tabella (che naturalmente è destinato a cambiare di volta in volta perchè è il risultato di una ricerca) piuttosto che a una casella di testo (che nel caso specifico io avevo chiamato "fotolink")??

non so se sono stato sufficientemente chiaro... grazie a chi vorrà aiutarmi
(se necessario per far capire meglio potrei postare il db completo che però è pesante e forse devo usare dropbox)
Ultima modifica di charlie il martedì 23 aprile 2019, 11:14, modificato 1 volta in totale.
Motivazione: Formattato codice
LibreOffice Versione: 7.5.9.2 installata su macOS Big Sur 11.7.10
Stefano V.
Messaggi: 137
Iscritto il: domenica 31 marzo 2019, 15:51

Re: Allegati PDF in un campo.

Messaggio da Stefano V. »

Ho una domanda (forse banale) ma per caso, le macro con cui si aprono files contenuti in database mediante programmi esterni, funzionano solo se i database stessi o magari i singoli formulari che le contengono sono posti in dischi del computer dove risiedono i medesimi programmi esterni?

Vale a dire, io ho un database sull'hard disk del computer i cui records fanno riferimento a files contenuti in un disco esterno. in questo database c'è un formulario con una macro che consente l'apertura di records costituiti da files JPG (sempre collocati nel disco esterno), con un dato programma di visualizzazione immagine associato di default all'apertura dei JPG (nel mio caso "anteprima").

Dunque, se uso la macro in questo caso, essa funziona correttamente.

Se copio il database dall'hard disk sullo stesso disco esterno e tento di far funzionare la macro, questa non funziona più.

Mi chiedo, il mancato funzionamento della macro, dipende dal fatto che sul disco esterno non vi è installato "anteprima" visto che il predetto disco è solo un contenitore di dati ma non ha un sistema operativo proprio quindi neanche il programma "anteprima"?

Forse dico una sciocchezza... o il problema si deve affrontare in termini diversi.

(grazie Charlie della formattazione del precedente post: io non so ancora come si fa a formattare le macro)
LibreOffice Versione: 7.5.9.2 installata su macOS Big Sur 11.7.10
Rispondi