Newsgroup: it.comp.appl.access
Titolo: E' molto complicato fare questo? :-)

ciao! :-) Sono tornato alla carica. Dopo il prezioso aiuto degli utenti di
questo gruppo, al quale devo la "soluzione" del mio piccolo Ex-problema...
adesso riparto con un nuovo quesito...
Nel mio piccolo database ho anche una maschera di ricerca... che funziona in
modo... diciamo poco ortodosso. In poche parole ho una maschera
"interfacciata" con una tabella... questa tabella ha un'unico record... che
cambia di contenuto in base al "titolo" della cassetta che voglio trovare
nel DB. Poi attraverso una query di "confronto"(?)... raggiungo il mio
record specifico nel DB. ( ovviamente basta che non scrivo il titolo nel
modo giusto e l'Accessss si inviperisce come pochi! )
Adesso vorrei fare in modo che, per esempio mettendo solo l'iniziale del
titolo, e poi facendo "cerca" mi saltasse fuori la lista di tutti i titoli
con quella data iniziale... e che magari saltasse fuori anche un messaggio a
video se la ricerca non dovesse date esito positivo. Questo è complicato?
 per la serie "Piccoli geni crescono! " eheheh ) Grazie!
Marco

 ha scritto nel messaggio
news:T7KT7.328998$sq5.16...@news.infostrada.it...

Beh, complimenti per l'ingegno!
Quello che vuoi fare è chiaramente possibile e non eccessivamente
complicato. Però se con 'raggiungo il mio record specifico nel DB' intendi
che visualizzi in una maschera il record di cui sopra, perché non provi -
direttamente nella seconda maschera - a creare con l'autocomposizione una
casella combinata scegliendo 'trova un record nella maschera basato sul
valore selezionato nella casella combinata'?
Ciao
--
Alberto

 valore selezionato nella casella combinata'?
Per la madonna non ci ho capito nulla... :-(
Il mio scopo sarebbe quello di togliermi dalle scatole un pò di tabelle...
ovvero quella con un singolo record...
Però non sò come fare...
Anche se forse, e dico forse, ho intuito cosa intendi suggerirmi... adesso
devo trovare dove applicare, o cercare di applicare, questo suggerimento...
Mmm... no... devo avere le idee confuse... che cosè una "casella combinata"?
e questa casella combinata dovrei metterla in quale maschera? La mia
maschera di "ricerca"?
Grazie
Marco

 ha scritto nel messaggio
news:9vps1u$gl71s$1...@ID-48897.news.dfncis.de...

Ciao Marco.
Come ho scritto ieri, io credo di aver capito che lo scopo della maschera di
ricerca (A) e della tabella con un singolo record sia quello di creare le
condizioni per visualizzare, in un'altra maschera(B), un certo record.
Se è così, tu devi lavorare esclusivamente nella maschera B: in modalità
struttura schiacci -sulla barra degli strumenti- il pulsante 'creazioni
guidate controllo' (quello con la bacchetta magica), poi schiacci il
pulsante 'casella combinata', poi il puntatore del mouse cambia forma e tu
disegni le dimensioni della casella combinata all'interno della maschera.
A questo punto non ti resta che seguire le indicazioni
dell'autocomposizione, facendo attenzione a scegliere l'opzione 'trova un
record nella maschera ...'. (Ovviamente la maschera B non dovrà più essere
filtrata tramite la query che si appoggia alla tabella con il singolo
record). Fai un po' di prove e vedrai che dopo funziona.
Se invece ho capito male spiega meglio di cosa si tratta.
Ciao,
--
Alberto

Mmm... aspetta prima provo a vedere se mi ritrovo con quello che mi hai
detto tu... magari non riesco a spiegarmi bene semplicemente perche IO non
ho chiaro bene cosa devo fare... :-)
Smanetto e ti faccio sapere...
Grazie
Marco

Facciamo cosi guarda! ( se per te non è un problema! ) Partiamo dal punto
che io ho il mio DB... e non ho nessuna maschera di ricerca e ne voglio fare
una con le modalità che ho descritto in precedenza. Cosa devo fare?
Creare una maschera "vuota", creare una casella di controllo come mi hai
descritto e seguire le istruzioni? Oppure mi sono perso qualche pezzo per
strada?
Già che ci sono volevo chiedere una cosa... spero che mi perdonerai... io
adesso ho la mia check box(?) che una volta checcata mi "abilita" il casella
"data"... come faccio a fare in modo che appena abilitata ( ovvero
accessibile ) mi appaia la data corrente? è complicato? Devo intervenire sul
codice? Credo di sapere anche dove inserire la "funzione"... ma che funzione
è?
grazie
ciao

 ha scritto nel messaggio
news:OeZU7.349547$sq5.16...@news.infostrada.it...

Ciao
Ok, no problem.
1)
Come dicevo, io ho capito che tu hai una maschera(B) in cui visualizzi i
tuoi dati e - tramite la maschera di ricerca/tabella temporanea/query - vuoi
che la maschera(B) ti visualizzi/si posizioni su un determinato record da te
scelto.
La maschera(B) esiste già (credo): non serve creare nient'altro.
In un punto qualsiasi della maschera(B) - magari in alto così è più comodo -
esegui le operazioni che ti ho descritto nel messaggio del 19/12/2001, a
partire da :"in modalità struttura schiacci -sulla barra degli strumenti- il
pulsante 'creazioni
guidate controllo'..."
Trattandosi di una autocomposizione tutto il codice necessario viene
generato direttamente da Access. Prova e eventualmente dì quali sono le
difficoltà che trovi.
2)
In questo caso l'unico problema è sapere come trattare l'eventuale data già
memorizzata nel campo associato alla casella data (cioè tu - per quel
record - potresti in precedenza aver già inserito una data). Ipotizziamo che
quando abiliti la casella data te ne freghi di una eventuale data già
memorizzata e vuoi in ogni caso metterai la data odierna. Se è così, a
fronte dell'evento 'dopo aggiornamento' della check box, metterai anche la
seguente riga di codice(*):
    If Me.Prestito Then
            Me.[Data Prestito].Enabled = True
*           Me.Me.[Data Prestito] = Date
         Else
             Me.Data Prestito = False
     End if
Come vedi ho ripreso il vecchio codice di cui si era parlato in un
precedente thread, aggiungendo la riga (*). Attenzione che la modifica la
devi fare solo a fronte dell'evento 'dopo aggiornamento' della chek box e
NON anche a fronte dell'evento 'su corrente' della maschera. A mio avviso
nell'evento 'dopo aggiornamento' una "If ... Then..." non te la leva nessuno
(ovviamente salvo -gradita - smentita di qualcuno più esperto di me).
Fai sapere come è andata.
Ciao e tanti auguri.
--
Alberto

Mmm... si sei stato molto chiaro... come al solito tra le altre cose.
Credo di aver capito come risolvere il problema della ricerca...
Il problema data č ok anche quello... ma cosě a freddo prima di smanettare,
ti voglio spiegare meglio la situazione cosi vediamo se quello che mi hai
suggerito va bene lo stesso... in poche parole il mio DB non č altro che una
anagrafica delle mie videocasette e dvd... Volevo che il risultato fosse il
seguente... ovvero che ogni volta che devo aggiungere una cassetta nel
casella della mia mascheda "DataInserimento" appaia automaticamente la data
odierna ( comunque modificabile a mano )... in modo da velocizzare la
compilazione delle caselle... č un problema questo?
Ciao e grazie ancora
Marco

Allora... il problema con la data in parte credo di averlo risposto... solo
che qui i dettagli mi stuntano fuori come funghi...
1. Dettaglio... quando apro la mia maschera come faccio a portare
automaticamente il DB all'ultimo record? Adesso me lo apre sempre dal primo!
:-(
2. Per compilare i campi Genere, Supporto, ecc ecc ho creato una casella
 non mi ricordo come si chiama ) dove scegliere il mio Genere ecc ecc da un
meno a "tendina"... mi avete aiutato voi qualche settimana fa a capire come
fare... solo che ho sempre problemi con l'aggiornamento... nel senso che in
questa maschera quando devo aggiungere un "genere" nuovo clicco su un
pulsante che ho creato... questo mi porta ad una maschera dove posso
inserire un nuovo genere... chiudo la maschera... però per poter vedere il
nuovo record nella mia maschera principale ho dovuto creare un pulsante
"AGGIORNA" che devo premere ogni volta che aggiungo un supporto, genere ecc
ecc nuovo... questa è un'operazione che si può fare automaticamente?
Grazie Marco

 ha scritto nel messaggio
news:eBiV7.353742$sq5.17...@news.infostrada.it...

Ok, ok,
io per quanto riguarda il punto (2) avevo capito che quando cliccavi sulla
check box questo significava che quella cassetta veniva prestata e
conseguentemente volevi abilitare e compilare la casella data (che indicava
la data del prestito).
Se invece quello che vuoi č che ogni volta che inserisci nel DB una nuova
cassetta (o DVD) ti venga proposta la data corrente il tutto č ancora piů
semplice.
Apri la maschera in visualizzazione struttura e nelle proprietŕ della
casella 'data' (spero che tu non l'abbia chiamata proprio cosě), dati/valore
predefinito scrivi:
    =Date()
In questo modo ogni volta che ti predisporrai ad immettere un nuovo record
ti verrŕ proposta la data corrente - che potrai comunque modificare.
Ri-ciao e ri-auguri,
--
Alberto


Ciao
--
Alberto

 ti verrà proposta la data corrente - che potrai comunque modificare.
:-) Grazie! Anche questa è fatta!
Marco

Primo. Quando incomincio a stressarti troppo dillo! Che smetto di farti
domande! :-)
In effetti io ho fatto un pulsante per ogni nuovo inserimento... anche se
forse sarebbe stato piu saggio attivare l'apertura della maschera facendi
doppio-click sulla casella come hai detto tu... Ma questo ci pensiamo in
seguito... credo di aver, FORSE, intuito come applicare il codice che mi hai
suggerito anche ai miei pulsanti... ti farò sapere.
Sono riuscito ad andare, come mi hai detto, all'ultimo record... ma se
volessi che la maschera si aprisse con un record vuoto in fondo al mio Db
come dovrei fare? Non basta che ne aggiungo uno nella mia tabella perche al
primo nuovo inserimento quel record vuoto andrebbe a farsi friggere...
mmm... hai un suggerimento? :-(
Grazie
Marco

 mmm... hai un suggerimento? :-(
Sempre 'su apertura' della maschera, invece di
    DoCmd.GoToRecord , , acLast
metterai
    DoCmd.GoToRecord , , acNewRec
... potersti in alternativa impostare a si (da visualizzazione struttura
della maschera) la proprietà 'immissione dati', ma così non potresti
visualizzare i record già esistenti: vedi tu secondo le tue esigenze...


Quando apro il mio DB e avvio la maschera di inserimento di un nuovo titolo
mi esce fuori un runtime error... il codice "incriminato è questo:
Private Sub Form_Current()
If Me.Prestato Then                                                        *
Questa riga è evidenziata!*
             Me.[DataPrestito].Enabled = True
             Me.[IDNome].Enabled = True
             Me.[Restituito].Enabled = True
             Me.[Data_Restituzione].Enabled = True
             If Me.Restituito Then
                Me.Data_Restituzione.Enabled = True
             Else
                Me.Data_Restituzione.Enabled = False
             End If
         Else
             Me.[DataPrestito].Enabled = False
             Me.[IDNome].Enabled = False
             Me.[Restituito].Enabled = False
             Me.[Data_Restituzione].Enabled = False
End If
Mi sai dire cosa non gli piace?
grazie!
Marco

Runtime Error 94
Utilizzo non valido di Null
???
bho...

Se metto 'AcNewRec' al posto di 'AcLast' la maschera non si apre...
devo forse creare un campo vuoto nella mia tabella "titolo"? Se si mi
dovresti dire anche come... perche ho provato ma non me lo fà fare...
 premetto che comunque credo che creare un campo vuoto non centri una
beneamata fava! ) :-)
Ri-Ciao
Marco

 ha scritto nel messaggio
news:xPJV7.359914$sq5.17...@news.infostrada.it...

Ciao
io ho fatto alcune prove e sono riuscito a ricreare un errore del tipo che
descrivi solo se:
    il controllo 'Prestato' è una 'casella di controllo'
    la relativa proprietà 'valore predefinito' non è impostata
    il campo a cui il controllo 'Prestato' è associato è un campo numerico e
non un campo si/no
    anche per detto campo la proprietà 'valore predefinito' non è impostata
    l'errore si verifica solo quando passi ad un nuovo record
È così? Oppure dai altri dettagli.

La maschera non si apre "punto e basta" oppure non si apre e da un messaggio
di errore?
Il messaggio di errore è magari lo stesso di cui al punto precedente?
La tabella 'titolo' è la tabella a cui è associata la maschera che non si
apre o è un'altra (in questo caso spiega...)
Quando dici 'aggiungere un campo vuoto' intendi davvero un campo o vuoi dire
un record (anche se - vista così - non dovrebbe aver nessun nesso).
A presto
Ciao
--
Alberto

 un record (anche se - vista così - non dovrebbe aver nessun nesso).
Adesso funziona cosi... io apro la maschera e mi appare l'ultimo record
inserito, allora io devo schiacciare su un pulsante che mi aggiunge un
record, e poi procedo alla compilazione delle caselle della maschera... il
risultato che vorrei ottenere consiste nel evitare di dover schiacciare il
pulsante e trovarmi davanti direttamente la maschera vuota e pronta per
essere compilata...
Ciao e grazie
Marco

 ha scritto nel messaggio
news:a0eptb$kbn4a$1...@ID-48897.news.dfncis.de...

Penso che mi stia sfuggendo qualcosa...
1) Hai provato a ricompattare il DB?
2) Quando parli di apertura 'automatica' significa che in strumenti/avvio
hai impostato la maschera da visualizzare all'apertura? E si tratta della
stessa maschera che invece, se aperta dalla finestra del database, da
errore? Questa maschera, che chiami 'di selezione' è la maschera tramite la
quale inserisci-visualizzi-modifichi i tuoi record?
3) Hai controllato la struttura della maschera e della tabella associata
come ti avevo chiesto nel post precedente?
4) Controlla anche se la tabella 'Titolo' è la tabella associata alla tua
maschera (io intendevo dire che se non è così allora devi spiegare quale è
l'origine record della maschera).
Apparentemente tutto quello che vuoi fare è tranquillamente realizzabile.
Ciao
--
Alberto

 l'origine record della maschera).
Allora... la maschera TITOLO è composta dall'unione di diverse tabelle...
tra cui quella TITOLO... adesso è piu chiara la situazione?
Marco


Ciao
--
Alberto