Query data database access e vs2010

mercoledì 06 luglio 2011 - 14.46
Tag Elenco Tags  VB.NET  |  .NET 4.0  |  Windows 7  |  Visual Studio 2010  |  Access (.mdb)  |  Office 2007  |  Internet explorer 8.0

GIANNI_inside Profilo | Newbie

Salve a tutti, sono nuovo di zecca mi chiamo Gianni e senza esperienza, già, per questo mi trovo qui. Posso fare delle domande? presumo di si. Ho una tabella VERIFICHE che ha un campo SCADENZA (date/time) es. xx/06/xxxx. i record hanno giorni ed anni variabili, a me interessa una query in grado di soddisfare il seguente criterio: mostra tutti i record il cui campo SCADENZA è appunto xx/06/xxxx (solo giugno). Ora, in access la queri funziona e restituisce i dati esatti (Like "*/06/*") . Ho importato il database (tabelle e viste, query preparate in access) in una winform di vs2010, mi fa vedere tutti i record ma quando eseguo la query non m i restituisce niente
es. (SELECT [NOTE], SCADENZA, [RAGIONE SOCIALE], MARCA, MODELLO, LOGO_MF, MATRICOLA_MF, INDIRIZZO, CAP, CITTA, PARTITA_IVA, TELEFONO
FROM VERIFICHE
WHERE (SCADENZA = #*/6/*#))

Potreste darmi una dritta? grazie.

Cteniza Profilo | Guru

Credo che da vs2010 una query del genere non funzioni.
prova con month
Select campo where month(data) =

Earthquake Profilo | Junior Member

Si Cteniza ha ragione prova con month() ecco la tua stringa:
SELECT [NOTE], SCADENZA, [RAGIONE SOCIALE], MARCA, MODELLO, LOGO_MF, MATRICOLA_MF, INDIRIZZO, CAP, CITTA, PARTITA_IVA, TELEFONO
FROM VERIFICHE
WHERE Month(SCADENZA) = 6

DomA Profilo | Expert

Ciao,
non so se è la strada giusta...
Prova a cambiare il nome del campo Note. Ricordo che mi fece impazzire. Deve trattarsi di una parola riservata.
Fammi sapere
Domenico

Earthquake Profilo | Junior Member

basta che lo metti tra parentesi quadre oppure lo chiami infonote come faccio io.

DomA Profilo | Expert

Hai ragione...

Domenico

GIANNI_inside Profilo | Newbie

Prima di tutto grazie, siete stati disponibilissimi purtroppo pare che non funzi, l'errore è : errore esecuzione SQL origine errore: microsoft jet database engine, messaggio di errore: funzione '[MONTH]' non definita nelle'espresssione. Vi dice niente?

Ho accodato: WHERE Month(SCADENZA) = 6

GIANNI_inside Profilo | Newbie

Forse ci siamo: WHERE SCADENZA like '%/06/%'. cosi' facendo funziona tutto e restituisce i record giusti anche se in costruzione query da un errore. che ne pensate?

DomA Profilo | Expert

Una strada un po' più lunga ma certamente efficace è quella di aggiungere un campo Mese alla tabella.
E' chiaro che quando fai le registrazioni/modifiche devi inserire appunto il mese

Esempio:
Dim Mese as integer Mese = Month(DateTimePicker.value)

una volta fatto ciò potrai costruire la query su quel campo.

"SELECT * FROM TUA_TABELLA WHERE MESE = " & TextBox.text"

o meglio ancora:
Dim Mese as integer Mese = Integer.Parse(TextBox.text) "SELECT * FROM TUA_TABELLA WHERE MESE = " & Mese"

Tutto ciò se il tuo codice non ha problemi.
Ciao
Domenico

GIANNI_inside Profilo | Newbie

Ciao Domenico, alla fine ho rivoluzionato il tutto. Il database l'ho fatto con mysql, ho aggiunto un campo MESE_SCADENZA e filtro, appunto per mese....grazie. Adesso ho ottenuto una DataGridView con la lista dei nominativi filtrati per mese. Come faccio ad eseguire un file di word popolato dai campi della riga selezionata? Mi spiego (se ci riesco) ho delle righe con nominativo indirizzo etc in una DataGridView, cliccando sul primo nominativo voglio che si apra un documento di word che venga popolato dai campi del nominativo selezionato. Passo

DomA Profilo | Expert

Ciao,
ti segnalo questo
http://support.microsoft.com/kb/316383/it
Al posto della tabella inserisci i tuoi campi.

>>Saggia decisione quella di ricreare il tutto.
Ricorda di accettare la risposta se ti è servita.
A presto
Domenico

GIANNI_inside Profilo | Newbie

Ciao Domenico e grazie mille per il link. Per adesso gli ho dato uno sguardo veloce, credo che possa essere una buona base di partenza. Ti aggiorno.

GIANNI_inside Profilo | Newbie

Rieccomi, mi sono bloccato proprio all'inizio dove dice: Nella scheda COM , individuare la Libreria oggetti di Microsoft Word e fare clic su Seleziona .Non ho quella voce...

DomA Profilo | Expert

Hai installato Microsoft Office sul pc?
Se la risposta è si, allora nella scheda COM Trova la voce Microsoft Word (n° vers.) Object Library.
Fammi sapere.
Comunque se hai altri problemi dovresti chiudere questo thread ed aprirne un altro con un titolo specifico.
Le nostre soluzioni potrebbero e dovrebbero essere d'aiuto anche agli altri.

Domenico

GIANNI_inside Profilo | Newbie

Ciao Domenico, ho trovato la voce che dici, ho copiato ed incollato il codice del link ed ha funzionato adesso non mi rimane che personalizzarlo...se ci riesco. Sei stato di grande aiuto. A piùdopo. Gianni

DomA Profilo | Expert

Siamo qui per condividere conoscenza.
Ciao
Domenico
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5