Dinamiche di interrogazione | Interfaccie grafiche, Utilities, software di gestione

Topic: Pubblico - Composto da 6 Posts di 3 Utenti.

23 Ottobre, 2011 12:51 #1
tommy55
Utente

tommy55
Registrato: Jul, 2011
Posts: 20
Offline

C'è un modo da vba per inviare con connessione ODBC un dato sottoforma di stringa per immettere il parametro che condiziona la clausola where di una view in mysql.
Qual'è la sintassi?
Cioè posso filtrare una view di mysql da access come voi le filtrate da php o altri linguaggi?
Se leggete, questo messaggio, potete almeno spiegarni perchè non rispondete in merito, invece di non scrivere nulla? Sono convinto che molti lettori e frequentatori del forum sapranno almeno descrivere la dinamica di come si interroga mysql dall'esterno, altrimenti significa che usano il db sempre e solo da riga di comando.

23 Ottobre, 2011 14:30 #2
fuser
Utente

fuser
Registrato: Aug, 2011
Posts: 86
Offline

Personalmente non ti ho risposto perchè non sono pagato per stare costantemente sui vari forum ad aiutare la gente...
Comunque.
E' da molto che non vedo persone usare Access per dialogare con MySQL. Quando diverse realtà lo facevano, ho constatato che c'erano molti problemi e nessuna intenzione di risolverli.
Non sono sicuro di aver capito cosa hai bisogno di fare. In pratica vuoi dare dei parametri alle viste come se fossero dei prepared statements? MySQL non permette di farlo, la query che compone una vista non ha parametri (e credo che sia così per tutti i dbms).
Forse si può fare qualcosa di simile dal lato di Access, ma io non uso quel programma da un paio di versioni, quindi non saprei come aiutarti.

23 Ottobre, 2011 18:53 #3
g2d
Moderatore

g2d
Registrato: Jul, 2008
Posts: 957
Offline
Segui g2d su Twitter!

Salve ragazzi,

Tommy55, mi spiace che tu sia rammaricato, ma le regole del forum parlano chiaro, tutti Utenti Amministratori e Moderatori rispondono nel loro tempo libero, non c'è nessun obbligo. Questo non è un supporto ufficiale ma è una community semplice .... tra l'altro non è un business anzi è una cosa che io e un altra persona finanziamo, praticamente a peredere.

Purtroppo nessuno al mondo usa più la configurazione che stai cercando, almeno a livello professionale, ne lato MySQL ne lato Microsoft c'è interesse a fare in modo che questa integrazione funzioni.

Se vuoi investire del tempo, ti do un consiglio, studia un altro stack.. PHP, Ruby, Java, python .. ma quello che vuoi fare non funzionerà mai bene ...

In ogni caso ti rinnovo l'invito a sentirci in pvt via im per cercare di darti una mano ..

Colgo l'occassione di ringraziare Fuser che è un utente gentilissimo e molto preparato quindi merita i complimenti da parte di tutti noi.

A presto


Un tempo ero algweb ora sono g2d

23 Ottobre, 2011 23:32 #4
tommy55
Utente

tommy55
Registrato: Jul, 2011
Posts: 20
Offline

Algweb io credo che non ci sia nulla in questo campo che non si può fare, e ti assicuro che molte cose si possono fare anche con la configurazione così fatta e molte persone che non hanno studiato informatica la usano. Lo dimostra il fatto che nelle ultime 2 versioni di mysql 5.15 e 5.16 sia stato apportata una modifica per visualizzare le viste in access via ODBC in maniera corretta. Poi per correttezza voglio chiarirti che io non ho rimproverato nessuno, ma ho solo chiesto se invece di leggere i miei topic qualcuno poteva dire perchè non risopondeva, così facendo magari avrebbe dato una mano a me e ad altri a capire la natura dei propri sbagli.
Fuser:Ti ringrazio e ti chiedo: sei sicuro al 100 x 100 che una view non può avere parametri? Io con navicat l'ho fatta, ma il parametro l'ho inserito a mano Tipo: Campo id committente =3

Algweb, rifletti, la maggir parte degli impiegati in italia delle micro e piccole aziende usa sistematicamente excel per archiviare i propri dati,e cerca,( solo perchè non sa usare altro,) di trasformarlo in un db per quanto assurdo. Ora io penso che rispetto alla archiviazione farlocca appena descritta access combinato a mysql sia uno strumento semplice e molto più potente.Ovvio che i linguaggi di proggrammazione sono un altro pianeta, ma non tutti sono in grado di guidare una ferrari.
Io ho degli impiegati che lavorano per me, ora facciamo lavoro in team, facciamo preventivi contratti ordini e altri documenti da diversi uffici tutti con il proprio access che lavora su un unico mysql ognuno a livelli diversi. Adesso che le viste vengono pienamente supportate,sarà ancora più facile superare problemi di privacy che prima erano più ostici. Ora con una view possiamo dare in pasto ai magazzinieri o a terzi gli ordini che abbiamo fatto senza che questi in nessun modo possano aver accesso a campi prezzo o altro, e con un campo timestamp controllo se aggiornano i dati. Tu dirai che non è il massimo, ma io ci faccio lavorare un azienda, e rispamio tempo e denaro in maniera sensibile. Poi tutti sono entusiasti perchè se hanno esigenze specifiche, esempio estrapolare un report o una maschera particolare è questione di poco e piano piano imparano anche loro come fare piccole modifiche. E vuoi sapere da dove sono partito.. Tu gestisci il forum che mi ha ispirato, quindi ti sono riconoscente a priori...

27 Ottobre, 2011 16:47 #5
fuser
Utente

fuser
Registrato: Aug, 2011
Posts: 86
Offline

ALGWEB, ti ringrazio... ma mi limito a dare una mano quando ne sono in grado :)

TOMMY, Sì ti confermo che le viste non supportano i parametri. Se non mi credi puoi controllare la documentazione.
In Navicat non ricordo una feature del genere (parlo della versione gratuita però), se lo fa le simula lui lato client. Puoi farmi un esempio passo-passo, per favore?
La soluzione che usi funziona, non lo metto in dubbio, però io condivido i dubbi di Algweb. Inoltre ora MySQL appartiene a Oracle, che a mio parere non ha interesse a supportare software che girano solo su Windows (Oracle sviluppa prima di tutto in ambienti Linux/Unix o Java).
PHPRunner è semplice da usare, genera form e pagine di report. Ti consiglio di sperimentarlo e valutare se iniziare a integrare i due sistemi.

Comunque, se spieghi la tua esigenza nello specifico, forse si possono trovare alternative alle viste con parametri.

01 Novembre, 2011 12:46 #6
tommy55
Utente

tommy55
Registrato: Jul, 2011
Posts: 20
Offline

Sicuramente farò tesoro del tuo consiglio, il mio problema è questo. Con access vedo le viste create in mysql, a queste viste con navicat ho messo una clausola where che filtra un campo varchar di nome: tipo che deve essere = 'RICHIESTA ACQUISTO MATERIALE'. Questo lo chiamo parametro (forse impropriamente), e funziona. Ora vorrei introdurre con pulsante da access un parametro in mysql in modo da filtrare le viste da remoto, mi rendo conto, studiando il problema che dovrò superare problemi di multiaccesso datando le mie richieste.
comunque ecco la vista select di tre tabelle che uso ora per il magazzino. Scusate è la prima volta che posto del codice:

 1mysql>  describe v_voci_magazzino;
 2+-------------+--------------+------+-----+---------+-------+
 3| Field       | Type         | Null | Key | Default | Extra |
 4+-------------+--------------+------+-----+---------+-------+
 5| N           | int(11)      | NO   |     | 0       |       |
 6| NVOCE       | int(11)      | NO   |     | 0       |       |
 7| DESCRIZIONE | varchar(255) | YES  |     | NULL    |       |
 8| APPROVATA   | tinyint(4)   | YES  |     | 0       |       |
 9| OGGETTO     | varchar(255) | YES  |     | NULL    |       |
10| NOME        | varchar(255) | YES  |     | NULL    |       |
11| c a         | varchar(255) | YES  |     | NULL    |       |
12| DESC        | mediumtext   | YES  |     | NULL    |       |
13| UM          | varchar(10)  | YES  |     | NULL    |       |
14| QTÓ         | float        | YES  |     | NULL    |       |
15| ART         | varchar(255) | YES  |     | NULL    |       |
16| NOTE        | varchar(255) | YES  |     | NULL    |       |
17| DATA        | datetime     | YES  |     | NULL    |       |
18+-------------+--------------+------+-----+---------+-------+
1913 rows in set (0.09 sec)
20
21mysql> show create view v_voci_magazzino;
22+------------------+------------------------------------------------------------
23--------------------------------------------------------------------------------
24--------------------------------------------------------------------------------
25--------------------------------------------------------------------------------
26--------------------------------------------------------------------------------
27--------------------------------------------------------------------------------
28--------------------------------------------------------------------------------
29--------------------------------------------------------------------------------
30--------------------------------------------------------------------------------
31--------------------------------------------------------------------------------
32-------------------------------------+----------------------+-------------------
33---+
34| View             | Create View
35
36
37
38
39
40
41
42
43
44                                     | character_set_client | collation_connecti
45on |
46+------------------+------------------------------------------------------------
47--------------------------------------------------------------------------------
48--------------------------------------------------------------------------------
49--------------------------------------------------------------------------------
50--------------------------------------------------------------------------------
51--------------------------------------------------------------------------------
52--------------------------------------------------------------------------------
53--------------------------------------------------------------------------------
54--------------------------------------------------------------------------------
55--------------------------------------------------------------------------------
56-------------------------------------+----------------------+-------------------
57---+
58| v_voci_magazzino | CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL S
59ECURITY DEFINER VIEW `v_voci_magazzino` AS select `valutazioni`.`N` AS `N`,`voci
60 di valutazione`.`NVOCE` AS `NVOCE`,`tipi di voci`.`DESCRIZIONE` AS `DESCRIZIONE
61`,`valutazioni`.`APPROVATA` AS `APPROVATA`,`valutazioni`.`OGGETTO` AS `OGGETTO`,
62`valutazioni`.`NOME` AS `NOME`,`valutazioni`.`c a` AS `c a`,`voci di valutazione
63`.`DESC` AS `DESC`,`voci di valutazione`.`UM` AS `UM`,`voci di valutazione`.`QTÓ
64` AS `QTÓ`,`voci di valutazione`.`ART` AS `ART`,`voci di valutazione`.`NOTE` AS
65`NOTE`,`valutazioni`.`DATA` AS `DATA` from ((`valutazioni` join `tipi di voci` o
66n((`valutazioni`.`N` = `tipi di voci`.`ID N`))) join `voci di valutazione` on((`
67voci di valutazione`.`N TIPO` = `tipi di voci`.`ID`))) where (`valutazioni`.`TIP
68O` = 'RICHIESTA ACQUISTO MATERIALE') | utf8                 | utf8_general_ci
69   |
70+------------------+------------------------------------------------------------
71--------------------------------------------------------------------------------
72--------------------------------------------------------------------------------
73--------------------------------------------------------------------------------
74--------------------------------------------------------------------------------
75--------------------------------------------------------------------------------
76--------------------------------------------------------------------------------
77--------------------------------------------------------------------------------
78--------------------------------------------------------------------------------
79--------------------------------------------------------------------------------
80-------------------------------------+----------------------+-------------------

Ultima modifica 01 Novembre, 2011 23:36 di tommy55

Condividi su:

Loggati o Registrati per replicare