8. Comunicazione

con altri programmi, file, interfaccie

8.1   File Dialog 8.7  Importare altri formati
8.2   Comunicare con la porta seriale 8.8  Access e Oracle
8.3   Codici a barre 8.9  Access e MySQL
8.4   Telefono 8.10 Access e MS SQL Server
8.5   Inviare dati a Word 8.11 Access e PostgreSQL
8.6   Database di Access ed Internet
   
8.1 File Dialog
https://www.donkarl.com/it?FAQ8.1 aggiornato 2015-04-10

Problema

Vuoi visualizzare una finestra di dialogo in Access, da dove poter scegliere file o cartelle, come puoi fare in quasi tutti i programmi Windows, soprattutto per aprire o salvare i file.

Soluzione

Puoi usare l'oggetto ActiveX Common-Dialog di MS che si trova, p. e., nelle edizioni di Office Developer. Tuttavia con questo OCX ci sono spesso problemi con i riferimenti.

Un'altra possibilità (nelle versioni >=AX) è quella di usare l'oggetto FileDialog di Office (vedi <F1>). In AX non c'è l'opzione "Salva con Nome":
vedi http://support.microsoft.com/?kbid=282335
Con A03 questo problema è stato risolto.

L'alternativa migliore è quella di chiamare direttamente la finestra di dialogo usando le API di Windows.
p. e. "Common-Dialog" (anche per le cartelle) di Karsten Pries:
http://www.kpries.de/Entwicklertools/filedialog.htm (tedesco)

o di Alessandro Baraldi:
Sito Commune Sez. Modules 5.42

in alto

8.2 Comunicare con la porta seriale
https://www.donkarl.com/it?FAQ8.2 aggiornato 2007-05-31

Problema

Nella tua applicazione di Access, vuoi comunicare con la porta seriale (RS232), cioè leggere e/o scrivere dati.

Soluzione

Un modo facile per comunicare con la porta seriale è dato dal controllo ActiveX gratuito di Richard Grier:
http://home.comcast.net/~hardandsoftware/xmcomm.htm

MS fornisce l' MSComm32.ocx che, p. e., si ottiene con VB6.
Esso funziona con Access, però ti è consentito utilizzarlo solo se hai la licenza di VB. Documentazioni:
http://www.it-lang-vb.net/Documentazione/Articoli/MSCOMM.htm
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/comm98/html/vbobjcomm.asp (inglese)

A parte questo, devi utilizzare codice API complesso per comunicare con l'interfaccia:
http://support.microsoft.com/?scid=kb;it;639415

in alto

8.3 Codici a barre
https://www.donkarl.com/it?FAQ8.3 aggiornato 2022-06-21

Problema

In Access, vuoi utilizzare i codici a barre. Quale software ed hardware sono necessari? Quali codici a barre esistono? Dove ottenerli?

Soluzione

Nel PC, soltanto i numeri o i caratteri che sono codificati nel codice a barre possono essere salvati. Così, in Access, puoi semplicemente utilizzare un campo di tipo testo o numerico per memorizzare i valori.

Esistono versioni differenti di software:

Il modo più facile è un font di carattere true-type, più frequentemente per il Codice3/9. P. e.
https://www.barcodesinc.com/free-barcode-font/
Lì puoi trovare, anche, descrizioni dettagliate delle specificazioni dei codici a barre e molte altre informazioni circa i codici a barre.

I codici a barre più importanti si trovano gratis qui (Font + esempi VB):
http://grandzebu.net/informatique/codbar-en/codbar.htm

Per codici più complessi, come l'EAN, si trova parecchio software, ma generalmente è a pagamento. Per l'appunto, utilizza il tuo preferito motore di ricerca per trovare un'enorme quantità di fornitori, come p. e., http://www.tec-it.co.at/

Per quanto riguarda l'hardware, hai bisogno, soprattutto, di uno scanner. Io utilizzo scanner che sono semplicemente connessi tra tastiera e PC. Vi sono, però, anche modelli per la porta seriale. Lo stesso scanner converte il codice a barre in numeri o caratteri leggibili e li passa al PC. Per gli scanner vi sono, nuovamente, molti fornitori come, p. e., http://www.barcode.it/ o http://www.pcbarcode.co.uk/ (in Inglese)

Per stampare i codici a barre puoi utilizzare normali stampanti, o speciali stampanti per codici a barre, o etichettatrici, che nella maggior parte dei casi sono connesse alla porta seriale e alimentate con rotoli d'etichette. Esse sono disponibili tramite di molte ditte come Epson, Star etc.

Il gruppo prodotto, dove puoi trovare i lettori per codici a barre e le stampanti è chiamato POS (Point Of Sale). Per molte compagnie inizia la ricerca, utilizzando le parole "codici a barre", "EAN" etc., con un motore di ricerca a tua scelta.

in alto

8.4 Telefono
https://www.donkarl.com/it?FAQ8.4 aggiornato 2014-10-23

Problema

Vuoi comporre un numero telefonico, o controllare dispositivi telefonici dall'interno della tua applicazione di Access.

Soluzione

La maggior parte di questo articolo è scritto da Dieter Liessmann. Pertanto, qui egli rappresenta "Io" e "me". Vedi, inoltre, ulteriori informazioni e link a questo soggetto, sul suo sito http://www.topsolutions.de/englisch/index.html (in Inglese).

Vi sono varie possibilità, che dipendono da 2 fattori:
- Il solo comporre o anche controllare le chiamate entranti.
- Quale interfaccia.

Se vuoi soltanto chiamare dall'interno di Access, il modo più facile è mostrato da MS:
http://support.microsoft.com/?kbid=148857 (API tutte le versioni)
http://support.microsoft.com/?kbid=141625 (TAPI Access 95-97)
http://support.microsoft.com/?kbid=837146 (TAPI Access 2000-2003)

Se vuoi comunicare direttamente con la porta Com v. la FAQ 8.2.

Se vuoi chiamare, ma anche controllare le chiamate in entrata, devi utilizzare o l'interfaccia software CAPI (Common ISDN API, che è distribuita con ogni scheda ISDN) o le TAPI (Telephone API, distribuite sempre di più con l'hardware di telecomunicazione come telefoni, modem, schede ISDN).

CAPI

Secondo me una variante che perde terrreno. A volte i produttori delle schede ISDN offrirono i loro propri tool CAPI. Purtroppo non conosco una soluzione generica.

TAPI

Secondo me è la soluzione più professionale e flessibile, poiché l'interfaccia TAPI è supportata dalla maggior parte dei telefoni ISDN e dei dispositivi di telecomunicazione. Così, il requisito di base è un provider di un servizio TAPI per mezzo del produttore del telefono o del dispositivo di telecomunicazione. Poi, puoi iniziare.

Direttamente con VBA, puoi chiamare le TAPI solo in uscita e solo chiamate via API. Maggiori informazioni su questo, p. e., a http://www.shrinkwrapvb.com/vbtapi.htm

Una soluzione sarebbe l'ocx TeleTool da http://www.exceletel.com (in Inglese)- scaricare e testarlo.

Per gli sviluppatori vi è anche la "sevTAPI.DLL" in Access-Tools CD Vol.1 del access-paradies.de (in Tedesco).

in alto

8.5 Inviare dati a Word
https://www.donkarl.com/it?FAQ8.5

Problema

Vuoi inviare dati da Access a Word per un'ulteriore elaborazione.

Soluzione

Se vuoi creare una stampa unione in Word con i dati, allora il modo più facile è quello di esportare i dati ad un file Word.doc o file di testo, utilizzando il metodo TransferText. Dopo di ciò, puoi aprire Word ed utilizzare questo file come origine per la stampa unione.

Se vuoi soltanto inviare dati particolari, p. e., dal record corrente e conseguentemente vuoi aprire Word da Access, allora dai uno sguardo agli esempi sul www.sitocomune.com FAQ 6.47 e 6.137.

Spiegazioni con codice per la versione A00:
http://support.microsoft.com/?kbid=210271
Spiegazioni con codice per la versione A97:
http://support.microsoft.com/?kbid=131583

in alto

8.6 Database di Access ed Internet
https://www.donkarl.com/it?FAQ8.6 aggiornato 2011-04-30

Problema

Vuoi portare un database di Access, o i suoi dati, su Internet o su una Intranet.

Soluzione

Sharepoint
Da Access 2010 si possono usare gli Access Services di Sharepoint. A tale scopo si crea un "database Web", nel quale si possono usare tabelle, query, maschere, report e macro di Access in modo limitato (niente VBA). Ci sono alcuni siti della MS sul tema p.e. http://office.microsoft.com/it-it/access-help/HA010342110.aspx#BM2

Un altra possiblità a partire di A03 è l'esportazione e collegamento delle tabelle da Sharepoint. Poi si può lavorare in Access con le tabelle collegate e/o in Sharepoint con gli elenchi. Esportare e collegare funziona in modo simile come con altri backend.

DAP
Nelle versioni A00-A03 ci sono le Pagine di Accesso ai Dati (Data Access Pages = DAP) come propri oggetti di database. Tuttavia, nella maggior parte dei casi, sono adatte solamente per una Intranet, poiché funzionano solo con l'Internet Explorer di MS. Per questa ed altre limitazioni (p.e. della licenza dipendente della versione) e a causa di tanti bug i DAP con A07 funzionano solo in modo passivo, cioè si possono usare vecchie DAP ma non crearne nuove. Con A10 la MS le ha tolte completamente da Access.

Techniche web standard
Più flessibile delle possibilità già nominate sono tecniche web come Active Server Pages (ASP o ASP.NET) o PHP ecc. Però così si debbono ricreare completamente tutte le interfacce cioè il frontend, non si possono usare maschere e report di Access ma solo accedere ai dati, vuol dire tabelle e query di un mdb o accdb che si trova sul server web.

in alto

8.7 Importare altri formati
https://www.donkarl.com/it?FAQ8.7

Problema

Ti trovi ad avere dei dati o un'applicazione completa, nel formato di un altro programma, e cerchi una soluzione per convertirlo in Access.

Soluzione

In Access, non puoi trasportare un'interfaccia utente etc., di un altro formato, ma soltanto i dati.

Access può importare, direttamente, vari formati (vedi l'Help in linea), che possono anche servire da "tramite", per quei formati che Access non può leggere. Questi formati intermedi, molto frequentemente, sono: file di testo con delimitatori (csv), dBase (dbf), Excel (xls). Pertanto, fai ricerche nel tuo programma, sulla possibilità di esportare, in conformità. Alcuni esempi (che potrebbero dipendere dalle versioni, da ambo i lati):

Filemaker (Pro): Esporta da FM come csv o dBase
Works: Esporta come csv o dBase http://support.microsoft.com/?kbid=197894
Q&A: Esporta come dBase IV

BTrieve
In A2 esiste un driver IISAM per BTrieve. Così, se hai ancora installato o puoi trovare la versione A2, questo potrebbe essere una possibilità per importare i dati.
http://support.microsoft.com/?kbid=157036
http://support.microsoft.com/?kbid=141623

http://www.pervasive.com offre un driver per ODBC a 32 bit (buona fortuna per la tua ricerca), che dovrebbe funzionare con le versioni più recenti di Access. Tuttavia, vi sono stati alcuni report nei post del NG, circa i problemi dipendenti dalle versioni e la necessità di fornire la loro particolare soluzione.

Una scappatoia è offerta dal programma DOS, "BUTIL". Con il suo parametro RECOVER, puoi salvare i dati BTrieve in file di testo. Prova ad inserire in un motore di ricerca di tua scelta, queste parole chiavi.

in alto

8.8 Access e Oracle
https://www.donkarl.com/it?FAQ8.8 aggiornato 2011-04-18

Problema

Stai cercando informazioni sull'uso di Access come frontend di Oracle.

Soluzione

La connessione tra Access e Oracle è possibile via ODBC.

Puoi scaricare gli ultimi driver e informazioni dal sito Oracle:
http://www.oracle.com/technetwork/database/windows/index-098976.html
http://www.oracle.com/technetwork/database/windows/downloads/index-101290.html
http://wiki.oracle.com/page/ODBC

Informazioni sui diversi tipi di dati:
http://support.microsoft.com/?kbid=104977

C'è il tool "Oracle Migration Workbench" per la migrazione dei dati da Access/Jet a Oracle:
http://www.oracle.com/technetwork/topics/index-095746.html

in alto

8.9 Access e MySQL
https://www.donkarl.com/it?FAQ8.9 aggiornato 2014-01-20

Problema

Stai cercando delle informazioni circa l'uso di Access quale FE per un database MySQL.

Soluzione

Il collegamento Access - MySQL è possibile via ODBC.

Il driver ODBC e parecchie informazioni circa MySQL, sono disponibili su:
http://www.mysql.com (in Inglese)
Utilizza "Access" quale termine di ricerca sul sito, per trovare un gruppo di articoli specifici.

Phil Stiefel fornisce informazioni circa la cooperazione con Access, problemi, bug etc.
http://www.codekabinett.com/page.php?Theme=4&Lang=2 (in Inglese)

In Tedesco: Di Jörg Ackermann il documento della sua presentazione alla 6a AEK "Access+MySQL" offre un'utile introduzione. C'è anche la documentazione volumninosa di Joachim Bartels dalla AEK13.

in alto

8.10 Access e MS SQL Server
https://www.donkarl.com/it?FAQ8.10 aggiornato 2010-12-20

Problema

Stai cercando informazioni sull'uso di Access come Frontend del DB MS SQL Server.

Soluzione

L'utilizzo di Access e MS SQL server è possibile in 2 modi diversi:
Le tabelle di SQL Server possono essere collegate a un MDB tramite ODBC oppure Access può lavorare direttamente (tramite OLEDB) con gli oggetti del DB Server come tabelle, viste, stored procedure, funzioni etc. Questa versione è chiamata "Access (Data) Project" e ha estensione "adp" invece di "mdb".

Info su ADP alla MS in inglese:
http://msdn.microsoft.com/en-us/library/aa217647(office.11).aspx

Trovi informazioni e consigli per risolvere i problemi nella SQL Server FAQ di Bernd Jungbluth:
http://www.sqlfaq.de (tedesco)

Info di base sul SQL Server in italiano trovi qui:
http://www.italy.mvps.org area SqlServer

in alto

8.11 Access e PostgreSQL
https://www.donkarl.com/it?FAQ8.11 aggiornato 2012-11-14

Problema

Stai cercando informazioni sull'uso di Access come Frontend di PostgreSQL.

Soluzione

(La maggior parte di questo articolo è di Stefan Wirrer. Tutti i siti sono in inglese.)

Il collegamento Access - PostgreSQL è possibile via ODBC.

Informazioni su PostgreSQL:
http://www.postgresql.org/

Driver ODBC:
http://www.postgresql.org/ftp/odbc/versions/msi/

Tool grafico per l'amministrazione di PostgreSQL:
http://www.pgadmin.org/

Tool per la migrazione Access to PostgreSQL:
http://www.bullzip.com/products/a2p/info.php

Descrizione della migrazione (ancora dai tempi di A97):
http://wiki.postgresql.org/wiki/Microsoft_Access_to_PostgreSQL_Conversion

Paragone di vari DBMS:
http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems

in alto