Newsgroup: it.comp.appl.access
Titolo: collegamento ipertestuale automatico?

Ciao a tutti,
sono Filomena. tempo fà ho scritto in questo news chiedendo se secondo voi
era possibile collegare al database una specie di "motore di ricerca" tipo
il pulsante "cerca" della barra di applicazioni di windows xp.
Mi spiego: Ho creato un database molto semplice dove ho inserito tutto il
materiale musicale che ho. La tabella creata include:
1) Nome e cognome cantante;
2) Titolo della canzone;
3) Numero di ricerca;
4) titolo della raccolta
5) spartito
6) file midi
7) file karaoke.
Per i primi quattro campi ho caricato tutti i dati e con un pulsante "trova
record" so per la canzone che cerco il numero e il titolo della raccolta.
Fin qui semplice e ok!
Dopo per i campi 5 - 6 -7 ho creato 3 cartelle diverse (spartiti - midi -
karaoke) e all'interno (con le sottocartelle) ho suddiviso per cognome e
nome cantante tutti i file che possiedo.
Creare manualmente un collegamento ipertestuale che mi consenta dalla
maschera del database di collegarmi alla cartella Karaoke o Midi o Spartiti
è stato un gioco. Sono esattamente 3 collegamenti con tre percorsi diversi
(esempio d:/la mia musica/karaoke) e voilà mi si apre la cartella Karaoke in
modalità esplora risorse e posso vedere tutte le sottocartelle ordinate per
cognome cantante.
Ma allora il problema dov'è? il problema mi è sorto quando volevo collegare
ogni singola canzone caricata nel database al corrispondente file di
spartito - midi e karaoke. Mi sono fatta il conto e dovrei collegare
manualmente circa 1000/1500 file.
Cioè nel momento in cui apro la maschera e con il pulsante "trova" cerco la
canzone ad esempio "alice nel paese delle meraviglie" il rpgramma esegue la
ricerca sul campo"titolo della canzone " e me la trova ... mi da il numero
di ricerca cartaceo e il titolo della raccolta, a questo punto io vorrei che
cliccando sul campo "spartito" mi si aprisse il file dello spartito che si
trova in "d:/la mia musica/spartiti/De gregori francesco/alice nel paese
delle meraviglie" così da avere già al video il testo e gli accordi della
canzone.
stessa cosa per il file midi e il file karaoke.
Ma se io li devo collegare manualemnet non mi basterà questa vita !!!!
Considerando che questo è un hobby per me. Penso che una soluzione diversa
esiste anche per me che non so il linguaccio VB e non so impostare righe di
comando.
La volta scorsa qualcuno mi ha detto che si poteva fare e che però occorreva
che tutti e tre i file avessero gli stessi titoli (lo spartito, il midi e il
karaoke chiamati tutti allo stesso modo e cioè con il titolo della canzone).
E' passato qualche mese e alla fine ci sono riuscita. Li ho rinominati tutti
e sto quasi completando i file midi.
Qualcuno adesso è disposto a darmi una mano di aiuto e passo passo capire
come fare questi collegamenti automatici senza doverli fare uno ad uno ????
scusate se sono stata lunga ma volevo essere solo chiara per consentirVi di
aiutarmi.
Grazie
Filomena

 ha scritto nel messaggio
news:xmpnc.176597$Kc3.5...@twister2.libero.it...

Non devi collegarli manualmente;
se il percorso è noto per ogni spartito: d:\la mia musica\spartiti
poi scegli l'autore: De gregori francesco
poi lo spartito: alice nel paese delle meraviglie
il percorso si costruisce da sé:
d:\la mia musica\spartiti\De gregori francesco\alice nel paese delle
meraviglie
Dovrai inserire in un bottone il codice che legge le impostazioni "autore" e
"spartito" e costruire la stringa del percorso:
es.
Dim percorso as string
percorso = "d:\la mia musica\spartiti\" & me!autore & "\" & me!spartito
A proposito, i percorsi vengono indicati dalla barra rovesciata a sinistra
"\" non a destra "/"; a meno che non sia un indirizzo web/rete...
Ciao.
-- 
Sergio MAZZA


-------- omissis ----------

5 anni??? Ah! Questi giovani d'oggi! Pelandroni!
Mettiamo il caso che hai due caselle di testo che si chiamano "Autore" e
"Spartito".
Con la procedura guidata crei un bottone, premi annulla prima di scegliere
qualsiasi azione predefinita.
Ora dovrai gestire l'evento "su clic" del bottone; clicchi con il tasto
destro del mouse sul bottone appena creato, nella scheda "Formato" proprietà
"etichetta" puoi specificare il testo che apparirà sul bottone (es.
Spartito). Poi vai nella scheda "Evento", clicca sull'evento "su clic",
vedrai apparire a destra un bottone con tre punti (generatore di codice), ci
clicchi e scegli "generatore di codice"...Voilà sei nel mondo di VBA!
Dovresti essere in questa situazione:
Private Sub Comando0_Click()
End Sub
Ci scrivi in mezzo (tra Private e End):
Dim percorso as string
percorso = "d:\la mia musica\spartiti\" & me!Autore & "\" & me!Spartito
...
Ma che tipo di file è lo spartito? Word? O cosa? Come lo apri adesso? Con un
programma apposito o che altro?
Ciao.
-- 
Sergio MAZZA

 Aiuto mi sto perdendooooooo:-((((
Veramente sei gią in alto mare e direi che sarebbe il caso che ti fermi e ti
chiarisci le idee.
Il file con estesione .pro e .crd se non hai l'applicazione che li ha
generati non li aprirai mai, diverso il caso dei file .txt che (almeno
spero) sono in formato testo e quindi apribili anche da notepad.
Ora,per il punto 1) non posso aiutarti; per il punto 2), fermo restando il
problema dei file .pro e .crd il codice (nell'evento "su clic" del bottone)
per aprire il file dello spartito č:
Dim percorso as string
percorso = "winword.exe " & chr(34) & "d:\la mia musica\spartiti\" &
me!Autore & "\" & me!Spartito & chr(34)
Shell percorso
- "Autore" č una casella di testo che contiene il Nome e cognome cantante;
- "Spartito" č una casella di testo che contiene il nome del file con
estensione .txt
Ciao.
-- 
Sergio MAZZA


E' vero.... sono in alto mare. Non solo devo reperire il programma che ha
generato i file (quindi non basta solo indicare word come programma per
aprire i file con quelle estensioni9 ma devo anche capire come scrivere
questo linguaggio per me "sconosciuto". Scusa la mia ignoranza evidentemente
il NG è un luogo troppo "alto" di livello per me.  :-(
Il comando che mi hai mandato è sostanzialmente uguale a quello di ieri
sera, da quello che capisco devo sostituire "Autore &" con il mone del
cantante e "Spartito & chr (34) " con il nome della canzone ma così facendo
non lo devo fare tutte le volte che cerco la canzone ? Non puo' essere così,
evidentemente sono io che non capisco un tubo. Lo devo scrivere cosi come me
lo mandi?
 Private Sub Comando38_Click()
"d:\la mia musica\spartiti\" & me!Autore & "\" & me!Spartito & chr(34)
End Sub
perche' mi da errore di sintassi.
Grazie della tua disponibilità Sergio anche se mi rendo conto che hai poco
tempo .... lancio un appello a tutti ...... mi date una mano di aiuto come
sta facendo Sergio????

 Ciao, il problema del programma che apra i file crd e pro lěho risolto .
ho trovato il programma giŕ caricato e il file si apre anche se da
quell'errore di protezione giŕ evidenziato in NG da qualche altro. La
soluzione la sto cercando su NG nei post giŕ messi perchč la soluzione data
non funziona con il file di access 2000 e il programma office xp che uso io.
continuo ad avere sempre il problema della riga di comando errata.
filo


Ma mi vuoi dire come hai chiamato le caselle di testo che contengono il nome
e cognome del cantate e quella dello spartito o aspetti che mi beatificano
per sperare in qualche apparizione nei tui sogni?
Se vuoi risolvere presto il problema mi devi descrivere che c'hai messo
sulla maschera e come si chiama altrimenti ci passiamo le ferie.
(ci riprovo)
Il codice lo devi adattare tu, devi sostituire a me!Autore il nome della tua
casella di testo che (ripeto) contiene il nome e cognome del cantante; devi
sostituire me!Spartito con (ripeto) il nome della tua casella di testo che
contiene il nome del file (compresa l'estensione) con lo spartito.
Ora che mi dici di aver risolto il problema dei file .crd e .pro
l'istruzione cambia perchè, a priori VBA non sa quale applicazione eseguire
quando clicchi sul bottone; quindi diventerà:
Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "d:\la mia musica\spartiti\" & me!Autore & "\" & me!Spartito
Set WshShell = Nothing
Poi se le istruzioni ti presentano un errore tu selezioni il codice (tutto),
lo copi/incolli nel messaggio e indichi che tipo di errore e la riga dove te
lo presenta; per dare modo a tutti di poterlo controllare e correggere...
Ciao.
P.S. Sù col morale però eh?
--
Sergio MAZZA


quello che ho scritto in VB e:
Private Sub Comando38_Click()
Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "d:\la mia musica\spartiti\" & Cantante & "\" & Titolo della
canzone
Set WshShell = Nothing
End Sub
ciao
filo


Allora; alla luce delle ultime notizie si cambia con:
Private Sub Comando38_Click()
Dim WshShell, nomeFileConEstensione as string
Set WshShell = CreateObject("WScript.Shell")
nomeFileConEstensione = Dir("d:\la mia musica\spartiti\" & Me!Cantante & "\"
& Me![Titolo della canzone] & ".*")
WshShell.Run "d:\la mia musica\spartiti\" & Me!Cantante & "\" &
nomeFileConEstensione
Set WshShell = Nothing
End Sub
Ciao.
--
Sergio MAZZA

 Private Sub Comando38_Click()                    (nb:qua appare la freccia
ed è evidenziata in giallo)
Dim WshShell, nomeFileConEstensione As String
Set WshShell = CreateObject("WScript.Shell")
nomeFileConEstensione = Dir("d:\la mia musica\spartiti\" & Me!Cantante & "\"
(nb:questa riga è evidenziata in blu)
& Me![Titolo della canzone] & ".*")
WshShell.Run "d:\la mia musica\spartiti\" & Me!Cantante & "\" &
nomeFileConEstensione
Set WshShell = Nothing
End Sub
Che fu'? E' stata colpa mia ? Volevo mandarti la tabella per e-mail.... ma
mi chiede di selezionare un formato... quale deve scegliere affinche tu lo
visualizzi???se no l'intero DB
Grazie
Filos

 Filos
Nel copia/incolla non devi spezzare le righe:
(questa è tutta una riga)
'--- inizio ---
nomeFileConEstensione = Dir("d:\la mia musica\spartiti\" & Me!Cantante & "\"
& Me![Titolo della canzone] & ".*")
'--- fine ---
(questa è tutta una riga)
'--- inizio ---
WshShell.Run "d:\la mia musica\spartiti\" & Me!Cantante & "\" &
nomeFileConEstensione
'--- fine ---
Ciao.
-- 
Sergio MAZZA

 ha scritto nel messaggio
news:c827ui$5gd$1...@canarie.caspur.it...

Ho inserito il comando su un'unica riga, ma mi da errore.  Ho  vcercato con
F1 l'errore e mi sembra di aver capito che manca l'oggetto che stanno nella
libreria oggetto .... che ho anche aperto .... ma .... nada!:-(
messaggio di errore: errore di Run-time'-
2147024894
(80070002)'
Metodo 'Run' dell'oggetto 'IWshShell3' non riuscito.
cmq.... ti rimanod l'istruzione così come è scritta.... senza righe nel
mezzo e con l'istruzione per intero sulla riga. I punti di inizio rigo e
fine rigo te li ho segnati tra parantesi .......esempio (I) ......
istruzione ...... (F) ogni volta che inizio vado a capo.
Mah....
ciao---------grazie--------filo
****
(I)Private Sub Comando38_Click()(F)
(I)Dim WshShell, nomeFileConEstensione As String(F)
(I)Set WshShell = CreateObject("WScript.Shell")(F)
(I)nomeFileConEstensione = Dir("d:\la mia musica\spartiti\" & Me!Cantante &
"\" & Me![Titolo della canzone] & ".*")(F)
(I)WshShell.Run "d:\la mia musica\spartiti\" & Me!Cantante & "\" &
nomeFileConEstensione(F)
(I)WshShell = Nothing(F)
(I)End Sub(F)
****


Questa riga č sbagliata: (I)WshShell = Nothing(F), quella giusta č: (I)Set
WshShell = Nothing(F).
Indica anche su quale riga si ferma l'esecuzione...
Ciao.
-- 
Sergio MAZZA

 fatto!! non funziona. stesso codice di errore e si evidenzia di giallo la
riga WshShell.run.....
scusa ma non cěč la faccio piu' . sono giorni e giorni che non riesco ad
andare avanti  e sicuramente avro' altri problemi perchč voglio realizzare
ciň che non conosco, sicuramente altri comandi che ignoro che esistono ....
e altri problemi nell'andare a sincronizzare o ricercare file ........... so
che non rientra nelle regole NG ma se ti mando il DB me lo risolvi intanto
questo problema??? cosě forse andrň avanti o no? non so piů che fare ....:-(

 ha scritto nel messaggio
news:It6qc.6430$Wc.2...@twister2.libero.it...

Invialo in formato acc'97...
Ciao.
-- 
Sergio MAZZA