Aiuto con accodamento dati

venerdì 07 novembre 2008 - 17.34

Semerket Profilo | Newbie

Cari amici del NG ho allegato al presente post due file.
Il Primo file (miaTabella) è il risultato di una query di creazione.
Il Secondo file (TabRisultato) è il risultato che vorrei ottenere partendo dalla tabella
descritta nel primo file.

Grazie a tutti quelli che mi aiuteranno


Un Saluto di Luce a tutti!

alx_81 Profilo | Guru

>Cari amici del NG ho allegato al presente post due file.
>Il Primo file (miaTabella) è il risultato di una query di creazione.
>Il Secondo file (TabRisultato) è il risultato che vorrei ottenere
>partendo dalla tabella
>descritta nel primo file.
Ciao, mi sembra evidente che si tratta di fare una WHERE. Il problema è, qual è il criterio?
Questo ce lo devi dire tu..
Su che campi devo filtrare?
Quali discriminano il fatto che la riga sia di un tipo (quello che ti serve) piuttosto che di altri?


>Grazie a tutti quelli che mi aiuteranno
Di nulla!
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

Semerket Profilo | Newbie

>Ciao, mi sembra evidente che si tratta di fare una WHERE. Il
>problema è, qual è il criterio?
>Questo ce lo devi dire tu..
>Su che campi devo filtrare?
>Quali discriminano il fatto che la riga sia di un tipo (quello
>che ti serve) piuttosto che di altri?

In Effetti mi servirebbe legare il lotto dell'articolo al codice del articolo con la descrizione
per avere una sola riga con codice articolo, descrizione e lotto collegato.

Un Saluto di Luce a tutti!

alx_81 Profilo | Guru

>In Effetti mi servirebbe legare il lotto dell'articolo al codice
>del articolo con la descrizione
>per avere una sola riga con codice articolo, descrizione e lotto
>collegato.
Aspetta.. ma nella seconda hai solo ALCUNI record..

--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

Semerket Profilo | Newbie

>>In Effetti mi servirebbe legare il lotto dell'articolo al codice
>>del articolo con la descrizione
>>per avere una sola riga con codice articolo, descrizione e lotto
>>collegato.
>Aspetta.. ma nella seconda hai solo ALCUNI record..

Se mi dici come posso allegare le tabelle del database
le posto qui così ti rendi conto.

Grazie
Un Saluto di Luce a tutti!

alx_81 Profilo | Guru

>Se mi dici come posso allegare le tabelle del database
>le posto qui così ti rendi conto.
Avendo già i risultati vedo che MiaTabella ha 6 righe e Risultato ne ha 3.
A te serve avere le 3 righe col formato descritto nel post precedente?
Se sì, quali criteri devo usare per ricavare le tre righe?
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

Semerket Profilo | Newbie

>>Se mi dici come posso allegare le tabelle del database
>>le posto qui così ti rendi conto.
>Avendo già i risultati vedo che MiaTabella ha 6 righe e Risultato
>ne ha 3.
>A te serve avere le 3 righe col formato descritto nel post precedente?
>Se sì, quali criteri devo usare per ricavare le tre righe?

In effetti il criterio comune è che il campo Articolo deve essere uguale al campo Lotto_Articolo
quindi in breve devo legare il lotto al codice articolo dove il campo Articolo e Lotto_Articolo sono uguali.

Spero di essere stato chiaro.

Grazie
Un Saluto di Luce a tutti!

alx_81 Profilo | Guru

>In effetti il criterio comune è che il campo Articolo deve essere
>uguale al campo Lotto_Articolo
>quindi in breve devo legare il lotto al codice articolo dove
>il campo Articolo e Lotto_Articolo sono uguali.
Prova così.. spero di aver capito bene..

SELECT T1.DITTA , T1.ANNO_COMPETENZA , T1.TIPO_DOCUMENTO , T1.NUMERO_MOVIMENTO , T1.CAUSALE , T1.ARTICOLO , T1.DESCRIZIONE , T1.CONFEZIONI , T1.QUANTITA , T1.PREZZO , T1.COD_IVA , T1.IMPORTO , T1.QT_LOTTI , T1.LOTTO_DETTAGLIO , T1.LOTTO_RIGA , T2.COD_LOTTO , T1.LOTTO_CAUSALE , T2.LOTTO_ARTICOLO , T1.LOTTO_FORNITORE FROM TuaTabella T1 JOIN TuaTabella T2 ON T1.ARTICOLO = T2.LOTTO_ARTICOLO WHERE RTRIM(T1.ARTICOLO) <> ''
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

Semerket Profilo | Newbie

>>In effetti il criterio comune è che il campo Articolo deve essere
>>uguale al campo Lotto_Articolo
>>quindi in breve devo legare il lotto al codice articolo dove
>>il campo Articolo e Lotto_Articolo sono uguali.
>Prova così.. spero di aver capito bene..
>
>SELECT
> T1.DITTA
> , T1.ANNO_COMPETENZA
> , T1.TIPO_DOCUMENTO
> , T1.NUMERO_MOVIMENTO
> , T1.CAUSALE
> , T1.ARTICOLO
> , T1.DESCRIZIONE
> , T1.CONFEZIONI
> , T1.QUANTITA
> , T1.PREZZO
> , T1.COD_IVA
> , T1.IMPORTO
> , T1.QT_LOTTI
> , T1.LOTTO_DETTAGLIO
> , T1.LOTTO_RIGA
> , T2.COD_LOTTO
> , T1.LOTTO_CAUSALE
> , T2.LOTTO_ARTICOLO
> , T1.LOTTO_FORNITORE
>FROM
> TuaTabella T1
> JOIN TuaTabella T2 ON T1.ARTICOLO = T2.LOTTO_ARTICOLO
>WHERE
> RTRIM(T1.ARTICOLO) <> ''
>--
>
Grazie Alex mi dai un ultimo aiuto
come faccio ad usare il codice che mi hai postato?
Devo farlo solo da codice vba o posso farlo anche con una query?

Grazie ancora
Un Saluto di Luce a tutti!

alx_81 Profilo | Guru

>Devo farlo solo da codice vba o posso farlo anche con una query?
Quella è una query. Se hai sql server puoi creare una stored procedure usando SQL Server Management Studio o da codice:

CREATE PROCEDURE (transact-SQL)
http://technet.microsoft.com/it-it/library/ms187926.aspx

Procedura: Creazione di una stored procedure (SQL Server Management Studio)
http://technet.microsoft.com/it-it/library/ms345415.aspx

Metti nella stored procedure il codice ed è fatta.
Poi da VBA, chiami la stored procedure usando l'oggetto command con una cosa simile a questa:

Dim Cmd1 As ADODB.Command Dim Rs1 As ADODB.Recordset Set Cmd1 = New ADODB.Command Set Cmd1.ActiveConnection = Conn1 Cmd1.CommandText = "NomeStoredProcedure" Cmd1.CommandType = adCmdStoredProc Set Rs1 = Cmd1.Execute()


>Grazie ancora
Di nulla!
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

Semerket Profilo | Newbie

>>Devo farlo solo da codice vba o posso farlo anche con una query?
>Quella è una query. Se hai sql server puoi creare una stored
>procedure usando SQL Server Management Studio o da codice:
>
>CREATE PROCEDURE (transact-SQL)
>http://technet.microsoft.com/it-it/library/ms187926.aspx
>
>Procedura: Creazione di una stored procedure (SQL Server Management
>Studio)
>http://technet.microsoft.com/it-it/library/ms345415.aspx
>
>Metti nella stored procedure il codice ed è fatta.
>Poi da VBA, chiami la stored procedure usando l'oggetto command
>con una cosa simile a questa:
>
>Dim Cmd1 As ADODB.Command
>Dim Rs1 As ADODB.Recordset
>
>
>Set Cmd1 = New ADODB.Command
>Set Cmd1.ActiveConnection = Conn1
>Cmd1.CommandText = "NomeStoredProcedure"
>Cmd1.CommandType = adCmdStoredProc
>Set Rs1 = Cmd1.Execute()
>
>
Considerato che io uso direttamente il file mdb cioè uso solo il database access
per fare tutto perchè non mi serve usare vb o altro come posso usare
la query che mi hai scritto?

Grazie
Un Saluto di Luce a tutti!

alx_81 Profilo | Guru

>Considerato che io uso direttamente il file mdb cioè uso solo il database access
>per fare tutto perchè non mi serve usare vb o altro come posso usare la query che mi hai scritto?
L'mdb da dove lo usi? è un'applicazione windows? Web? Oppure è un'applicativo Access?
In ogni caso devi creare una nuova query e metter dentro la SELECT.

Poi dipende da dove la devi chiamare..
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

Semerket Profilo | Newbie

>>Considerato che io uso direttamente il file mdb cioè uso solo il database access
>>per fare tutto perchè non mi serve usare vb o altro come posso usare la query che mi hai scritto?
>L'mdb da dove lo usi? è un'applicazione windows? Web? Oppure
>è un'applicativo Access?
>In ogni caso devi creare una nuova query e metter dentro la SELECT.
>
>Poi dipende da dove la devi chiamare..

Il mio è un semplice applicativo access anzi a dire il vero
è un db con tabelle collegate quindi non ho ne maschere ne
report ma sono tabelle e query per interrogare o lavorare sulle tabelle.

Dal file che ti ho inviato come posso fare quello che ti ho chiesto?

Grazie
Un Saluto di Luce a tutti!

alx_81 Profilo | Guru

>Il mio è un semplice applicativo access anzi a dire il vero
>è un db con tabelle collegate quindi non ho ne maschere ne
>report ma sono tabelle e query per interrogare o lavorare sulle
>tabelle.
>Dal file che ti ho inviato come posso fare quello che ti ho chiesto?
Il risultato lo devi avere in una query? Se sì, basta prendere la select e incollarla in una nuova query access.
Il fatto è che la tua richiesta manca di alcune specifiche. Tu hai fatto due tabelle, di cui una è la sorgente ed una il risultato.
La query che ti ho scritto va semplicemente messa in una nuova Query di access (cambiando la visualizzazione in SQL) e salvata.
A quel punto, al cambiare dei dati su miatabella, cambia anche il risultato della query.
Spero ti occorra questo.
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

Semerket Profilo | Newbie


>Il risultato lo devi avere in una query? Se sì, basta prendere
>la select e incollarla in una nuova query access.

Il risultato lo voglio mettere in una nuova tabella che dopo esporto in excel.

>Il fatto è che la tua richiesta manca di alcune specifiche. Tu
>hai fatto due tabelle, di cui una è la sorgente ed una il risultato.
>La query che ti ho scritto va semplicemente messa in una nuova
>Query di access (cambiando la visualizzazione in SQL) e salvata.

Ho provato a copiare ed incollare come nuova query ma mi da errore nel parametro
from segnalando la parola join

>A quel punto, al cambiare dei dati su miatabella, cambia anche
>il risultato della query.
>Spero ti occorra questo.

in cosa sbaglio

Un Saluto di Luce a tutti!

alx_81 Profilo | Guru

>Ho provato a copiare ed incollare come nuova query ma mi da errore
>nel parametro from segnalando la parola join
metti INNER JOIN, scusami, l'avevo scritta per SQL Server..

Quella query poi la puoi esportare in excel
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

Semerket Profilo | Newbie

>>Ho provato a copiare ed incollare come nuova query ma mi da errore
>>nel parametro from segnalando la parola join
>metti INNER JOIN, scusami, l'avevo scritta per SQL Server..
>
>Quella query poi la puoi esportare in excel
>--
POSSO CHIEDERTI UN'ULTIMA CORTESIA DI RISCRIVERLA PER ACCESS CON I RIFERIMENTI
DI QUELLA TABELLA CHE TI HO MANDATO?

GRAZIE 10000
Un Saluto di Luce a tutti!

alx_81 Profilo | Guru

>POSSO CHIEDERTI UN'ULTIMA CORTESIA DI RISCRIVERLA PER ACCESS CON I RIFERIMENTI DI QUELLA TABELLA CHE TI HO MANDATO?
Basta sostituire TuaTabella con MIATAB:

SELECT T1.DITTA , T1.ANNO_COMPETENZA , T1.TIPO_DOCUMENTO , T1.NUMERO_MOVIMENTO , T1.CAUSALE , T1.ARTICOLO , T1.DESCRIZIONE , T1.CONFEZIONI , T1.QUANTITA , T1.PREZZO , T1.COD_IVA , T1.IMPORTO , T1.QT_LOTTI , T1.LOTTO_DETTAGLIO , T1.LOTTO_RIGA , T2.COD_LOTTO , T1.LOTTO_CAUSALE , T2.LOTTO_ARTICOLO , T1.LOTTO_FORNITORE FROM MIATAB T1 INNER JOIN MIATAB T2 ON T1.ARTICOLO = T2.LOTTO_ARTICOLO WHERE RTRIM(T1.ARTICOLO) <> ''


--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
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-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5