Utilizzo di dlookup

venerdì 06 giugno 2008 - 09.23

falco81 Profilo | Newbie

Buongiorno a tutti...

Avrei un problemino con dlookup...Vi sottopongo questo codice che
mi dà errore, anche se nel debug, varSearch assume un valore corretto...però non mi mostra l'immagine e il path...


Private Sub ElencoV_AfterUpdate()
Dim varSearch As Variant
varSearch = ElencoV.Column(0)
Foto_Test.Picture = DLookup("Foto_Isola", "Tipologia_IsolaP", "ID_Isola = " & varSearch)
If IsNull(Me!Foto_Test) Then
Me!Path_Foto = Null
Else
Me!Path_Foto = Me!Foto_Test.Picture
End If
End Sub

Per favore, dove sto sbagliando???

Help...

alpanix Profilo | Junior Member

>Buongiorno a tutti...
ciao

>Avrei un problemino con dlookup...Vi sottopongo questo codice
>che
>mi dà errore, anche se nel debug, varSearch assume un valore
>corretto...però non mi mostra l'immagine e il path...
>
>
>Private Sub ElencoV_AfterUpdate()
>Dim varSearch As Variant
>varSearch = ElencoV.Column(0)
>Foto_Test.Picture = DLookup("Foto_Isola", "Tipologia_IsolaP",
>"ID_Isola = " & varSearch)
>If IsNull(Me!Foto_Test) Then
>Me!Path_Foto = Null
>Else
>Me!Path_Foto = Me!Foto_Test.Picture
>End If
>End Sub
>
>Per favore, dove sto sbagliando???
non ho sotto mano il sistema, ma di primo acchito direi che:
1) usa sempre le parentesi quadre nei riferimenti ai campi (ad es.: "[ID_Isola] = "...)
2) quando lavori sui controlli delle maschere, è buona norma aggiornarne i valori (ad es.: Me!Path_Foto.Requery o simili)
detto questo, appena ho Access in funzione potrò essere più mirato nella risposta


AlPanix

falco81 Profilo | Newbie

Ciao Alpanix e innanzitutto grazie per l'interessamento!

Hai ragione che devo usare le parentesi quadre, ma in un'atra maschera usando un codice simile:

Foto_Test.Picture = DLookup("Foto_Isola", "Tipologia_IsolaB", "ID_Isola = ElencoI ")

If IsNull(Me!Foto_Test) Then
Me!Path_Foto = Null
Else
Me!Path_Foto = Me!Foto_Test.Picture
End If

End Sub

-------
mi funziona perfettamente...qui, ElencoI è formato solo da una colonna e funziona perfettamente..
In quest'altra maschera invece, ho più colonne, ed avendo la colonna associata già impagnata per un campo contatore ho pensato di usare Column, ma non mi funziona anche se la variabile varSearch assume il valore corretto..

Che poso fare?

In merito al requery, sotto quale Sub lo dovrei inserire?

Grazie ancora...

alpanix Profilo | Junior Member

>In quest'altra maschera invece, ho più colonne, ed avendo la
>colonna associata già impagnata per un campo contatore ho pensato
>di usare Column, ma non mi funziona anche se la variabile varSearch
>assume il valore corretto..
>
>Che poso fare?
forse ho capito
prova a mettere la var_Search tra apici ("ID_Isola = '" & varSearch & "'")
oppure modifica riportando ElencoV.Column(0) al posto di varSearch.

>In merito al requery, sotto quale Sub lo dovrei inserire?
lascia perdere
non fa al caso tuo

>Grazie ancora...
prego


AlPanix

falco81 Profilo | Newbie

GRANDE.....................GRAZIE INFINITE!!!!!!

Erano gli apici......incredibile quanto ci ho penato!!!!

Ma per fare le cose pulite, quando ho una combo con più colonne e seleziono il record voluto, perchè mi resta su video solo la prima colonna e no le altre? Sarà una cosa stupida ma non riesco a trovare la soluzione...Da dire che però logicamente (per le operazioni che devo fare io) il record viene selezionato per intero...


Dov'è l'inghippo??

alpanix Profilo | Junior Member

>GRANDE.....................GRAZIE INFINITE!!!!!!
figurati

>Ma per fare le cose pulite, quando ho una combo con più colonne
>e seleziono il record voluto, perchè mi resta su video solo la
>prima colonna e no le altre? Sarà una cosa stupida ma non riesco
>a trovare la soluzione...Da dire che però logicamente (per le
>operazioni che devo fare io) il record viene selezionato per
>intero...
>
>Dov'è l'inghippo??
nessun inghippo
la visualizzazione delle combo nella loro componente editabile si riduce alla prima colonna di lunghezza maggiore di zero tra quelle che le compongono, per cui se nella lista della combo hai Nome | Cognome | Numero di telefono, nella casella di testo della combo stessa vedrai solo il Nome selezionato
per visualizzare il tutto potresti utilizzare una ListBox, al posto della ComboBox
per divertirti un po', potresti rendere dinamica l'altezza della ListBox in base al fatto che la stessa ListBox abbia il Focus o meno.. per renderla simile ad una combo, per intenderci..

se la risposta ti ha soddisfatto, accettala

AlPanix

falco81 Profilo | Newbie

Ciao...

grazie mille del suggerimento...ci sto già lavorando sulla dinamicità!!!

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5