Telefonino.net network
 
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. NEI PREFERITI .:: | RSS Forum | RSS News | NEWS web | NEWS software |
| PUBBLICITA' | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | CERCA nel FORUM » |

Torna indietro   WinTricks Forum > Software > Programmazione

Notices

Rispondi
 
Strumenti discussione
Vecchio 20-11-2013, 14.38.53   #1
bagiuba
Newbie
 
Registrato: 20-11-2013
Messaggi: 5
bagiuba promette bene
VBA access

Un saluto da un nuovo arrivato e un
GRAZIE a tutti quanti vorranno aiutarmi.

Spero di non esagerare ponendo due quesiti...

1) DLOOKUP
In una FUNCTION devo passare un parametro alla funzione dlookup, ma non funziona! Esempio:
Function PIPPO (par1 as string) as string
dim PIPPO1 as string
PIPPO1 = DlookUp("[campo da cui leggo]","[tabella da cui leggo]", "[campo di riferimento] = " & par1)

Comunque la scriva non funziona poichè non riconosce par1

Come si può risolvere?

2) Debbo usare delle SELECT all'interno di Function o Sub. Non posso usare Dlookup in quanto la select è un poco complessa, ne richiamare una Query. Riesco a scrivere tranquillamente la select, ma non so come utilizzarla? Ad esempio devo assegnare il valore di una COUNT ad una variabile
....
Dim PIPPO as Variant
PIPPO = (SELECT Max(RTL_INCIDENZA.NUMERO) AS MaxDiNUMERO
FROM RTL_INCIDENZA) [è solo un esempio in questo caso, sono conscio che una DMax potrebbe bastare!] NON FUNZIONA

Credo occorre dichiarare il db ecc.
ma tutte le ricerche che ho fatto sui forum danno risposte parziali o non riesco a capirne la logica!

Qualcuno mi può esser di aiuto?

Ri-GRAZIE

G.
bagiuba non è collegato   Rispondi citando
Vecchio 20-11-2013, 17.14.21   #2
xilo76
Forum supporter
Global Moderator
 
Registrato: 23-08-2007
Messaggi: 2.704
xilo76 è conosciuto da tuttixilo76 è conosciuto da tuttixilo76 è conosciuto da tuttixilo76 è conosciuto da tutti
Rif: VBA access

A VBA non interessano le lettere maiuscole e minuscole? (chiedo perché non so)
Prova:

Codice:
Function PIPPO (ByRef par1 As String) As String
dim PIPPO1 As String
PIPPO1 = DlookUp("[campo da cui leggo]","[tabella da cui leggo]", "[campo di riferimento] = " par1)
return PIPPO1 [questo si fa in c/c++, non so in vba]
xilo76 non è collegato   Rispondi citando
Vecchio 20-11-2013, 18.01.00   #3
bagiuba
Newbie
 
Registrato: 20-11-2013
Messaggi: 5
bagiuba promette bene
Rif: VBA access

Grazie per la risposta...
Ma VBA Access non fa differenza fra maiuscole e minuscole e inoltre corregge da solo i nomi delle funzioni (maiscolo/minuscolo)
Il problema non è lì
Ho provato "infinite" sintassi, ma nulla, non accetta il parametro il ingresso sulla funzione.

Ciao
bagiuba non è collegato   Rispondi citando
Vecchio 20-11-2013, 18.12.45   #4
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Rif: VBA access

...non ho sottomano Access, ma prova ad impostare come variant la variabile che contiene il valore di ritorno di DLookup.

Prova prima a vedere se msgbox DLookup(...) ti restituisce il valore ricercato (così verifichi di aver scritto correttamente la stringa di query), poi assegna una variabile di ritorno alla funzione.

Per fare accesso al database si usa l'oggetto globale db.
db è Access, perlomeno l'oggetto Access che accede alla struttura delle tabelle e delle queries.
Se la query è d'azione, utilizza db.Execute "..."
Se la query è di selezione, devi dichiarare una variabile di tipo recordset.
Qui bisogna che decidi se utilizzare DAO oppure ADO (C'è differenza sintattica, anche se il concetto è identico).
Una volta dichiarata la variabile di tipo recordset (oggetto recordset), devi aprire il recordset (OpenRecordset) passando la stringa SQL al motore.
Il recordset sarà popolato con i valori corripondenti.
La proprietà recordcount ti indicherà se è pieno o vuoto.
Poi dovrai sfogliarlo (rs.MoveNext) e fermarti quando avrai trovato il valore che cerchi.
A questo punto, chiudi il recordset.
___________________________________

Practice feeds Skill,Skill limits Failure,Failure enhances Security,Security needs Practice
LoryOne non è collegato   Rispondi citando
Vecchio 20-11-2013, 23.06.00   #5
bagiuba
Newbie
 
Registrato: 20-11-2013
Messaggi: 5
bagiuba promette bene
Rif: VBA access

DlookUp anche con MSGBOX niente di buono!
Il problema è che non riconosce/accetta la variabile par1

SELECT... purtroppo sono molto inesperto...
riesci a farmi un esempio pratico partendo dalla select che ho evidenziato
(SELECT Max(RTL_INCIDENZA.NUMERO) AS MaxDiNUMERO
FROM RTL_INCIDENZA) e caricandone il risultato in una variabile?

Quello che non riesco conosco e la sintassi per collegarsi al db aprirlo ecc.

GRAZIE
bagiuba non è collegato   Rispondi citando
Vecchio 21-11-2013, 12.54.29   #6
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Rif: VBA access

par1 è di tipo stringa, passata come parametro reference.
Il primo problema che devi risolvere è:
Quale sarebbe la stringa SQL che passeresti a DLookUp affinchè ti restituisse un valore coerente con la query data in pasto al motore ?

Dovrebbe essere:
"SELECT [campo da cui leggo] FROM [tabella da cui leggo] WHERE [campo di riferimento] = " ed il valore di par1, giusto ?

par1 è un numero o una stringa ?
Le stringhe vanno tra doppi apici, apici singoli, oppure no quando date in pasto al motore ?

Soluzione sintattica da verificare:
Crei la query con l'autocomposizione, imposti manualmente il valore di par1 e la esegui. Poi, verifichi la stringa SQL corrispondente creata.
Posso assicurarti che funziona, se ben scritta.
___________________________________

Practice feeds Skill,Skill limits Failure,Failure enhances Security,Security needs Practice
LoryOne non è collegato   Rispondi citando
Rispondi

Tags
access, dlookup, select, vba


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
Informazioni su Access Caimar Office suite 3 20-02-2008 07.49.07
Driver access pasmar17 Office suite 1 02-09-2006 01.02.47
Folder Access ( da cancellare) crazy.cat Segnalazioni Web 0 31-07-2005 11.42.07
Aggiornamento firewall Blackice Puppauz Segnalazioni Web 30 12-11-2004 15.54.02
ADSL : Shared Access o BitStream Macao Segnalazioni Web 0 06-11-2004 03.07.09

Orario GMT +2. Ora sono le: 10.16.32.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2017 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.