codice Select

1nostromo

Nuovo Utente
25 Ago 2014
29
0
0
Buon giorno, leggendo un po’ qui e un po’ là mi sto facendo una cultura su i vari SELECT però entro in crisi con il SELECT UNION, i codici li scrivo correttamente, però alla visione della tabella come nella foto qui sotto i dati li sovrappone e li raddoppia
Il codice incriminato è il seguente
ds = New DataSet
da = New OleDbDataAdapter("SELECT ID_InfoClienti,Cognome,Nome, Via,Localita FROM tblClienti UNION SELECT Data_Inizio_Prestazioni,Ore,Data_Fine_Prestazioni ORDER BY Cognome,Nome", Archivio)
da.Fill(ds, "tblClienti’,’tblPresnotazioni ")

'Contenuto griglia
lvMostra.Items.Clear()
If ds.Tables("tblClienti’,’tblPresnotazioni ").Rows.Count > 0 Then
For i As Integer = 0 To ds.Tables("tblClienti’,’tblPresnotazioni ").Rows.Count - 1
With lvMostra.Items.Add(ds.Tables("tblClienti’,’tblPresnotazioni").Rows(i).Item(0).ToString)
.SubItems.Add(ds.Tables("tblClienti’,’tblPresnotazioni ").Rows(i).Item(2).ToString)
.SubItems.Add(ds.Tables("tblClienti’,’tblPresnotazioni ").Rows(i).Item(3).ToString)
.SubItems.Add(ds.Tables("tblClienti’,’tblPresnotazioni ").Rows(i).Item(4).ToString)
.SubItems.Add(ds.Tables("tblClienti’,’tblPresnotazioni ").Rows(i).Item(5).ToString)
.SubItems.Add(ds.Tables("tblClienti’,’tblPresnotazioni ").Rows(i).Item(2).ToString)
.SubItems.Add(ds.Tables("tblClienti’,’tblPresnotazioni ").Rows(i).Item(3).ToString)
.SubItems.Add(ds.Tables("tblClienti’,’tblPresnotazioni ").Rows(i).Item(4).ToString)

End With
Next
End If

Quindi il SELECT comunica correttamente con la griglia – DataBase, quello che non è corretto è il seguito , mi puoi aiutare per favore?

Per ovviare al problema che ho scritto in precedenza,l'ho agirato costruendo una Query fisica intervenendo direttamente nel DataBase Access, non mi piace,mi sembra troppo riduttivo così, voglio farlo con codice sqlFill. Grazie di nuovo
 

Allegati

  • 20141004_134816.jpg
    20141004_134816.jpg
    101,8 KB · Visite: 210

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
la UNION si utilizza per unire il contenuto OMOGENEO di due o più tabelle, riporto per chiarezza un quesito precedente,

11) Scrivere una query per visualizzare tutti i nominativi iscritti al circolo
select distinct s.* from (
select * from CACCIATORI
union
select * from PESCATORI
union
select * from SCALATORI
) s
order by s.nome, s.id

12 BIANCHI
2 BISCARDI
49 CRUCIANI
77 MANCINI
11 MARCA
1 MICHELI
27 NERI
4 ROSSI
35 ROSSI

i contenuti delle tabelle usate, sono omogenei e vengono uniti ottenendo il risultato corretto

ma,
SELECT ID_InfoClienti, Cognome, Nome, Via, Localita
UNION
SELECT Data_Inizio_Prestazioni, Ore, Data_Fine_Prestazioni

non sono omogenei ed in aggiunta, il numero delle colonne è diverso, infatti non produce il risultato atteso,
in realtà avrebbe dovuto dare un errore essendo il numero delle colonne non corrispondente

forse la query andava scritta senza la "union select"
saluti
Marino
 

1nostromo

Nuovo Utente
25 Ago 2014
29
0
0
la UNION si utilizza per unire il contenuto OMOGENEO di due o più tabelle, riporto per chiarezza un quesito precedente,

11) Scrivere una query per visualizzare tutti i nominativi iscritti al circolo
select distinct s.* from (
select * from CACCIATORI
union
select * from PESCATORI
union
select * from SCALATORI
) s
order by s.nome, s.id

12 BIANCHI
2 BISCARDI
49 CRUCIANI
77 MANCINI
11 MARCA
1 MICHELI
27 NERI
4 ROSSI
35 ROSSI

i contenuti delle tabelle usate, sono omogenei e vengono uniti ottenendo il risultato corretto

ma,
SELECT ID_InfoClienti, Cognome, Nome, Via, Localita
UNION
SELECT Data_Inizio_Prestazioni, Ore, Data_Fine_Prestazioni

non sono omogenei ed in aggiunta, il numero delle colonne è diverso, infatti non produce il risultato atteso,
in realtà avrebbe dovuto dare un errore essendo il numero delle colonne non corrispondente

forse la query andava scritta senza la "union select"
saluti
Marino


Buona sera Marino, ho capito,bene, non pensavo che le tabelle dovevano essere anche omogenee, grazie mille.
 

1nostromo

Nuovo Utente
25 Ago 2014
29
0
0
Risposta e meravigli

Buona sera Marino, ho capito,bene, non pensavo che le tabelle dovevano essere anche omogenee, grazie mille.

E' vero, ho riprovato a sciver il codice e da errore dicendo che il numero di colonne non sono corrispondenti nelle due tabelle query!!!!!Marino sei un grande!!!
 

1nostromo

Nuovo Utente
25 Ago 2014
29
0
0
Select

Buon giorno, mi sembra doveroso rigraziarti della collaborazione e di portarti a conoscenza di come ho risolto il problema, che per me è una conquista. ho agirato il problema con tre qry costruite fisicamente nel DataBase di Access, una qtyClintePrenotazioni la seconda con qryPrenotazioniPrestazioni e la terza finalmente qryClientePrenotazioniPrestazioni con questa query riepilogativa ho potuto fare quello che ti avevo chiesto in precedenza tramite li seguente codice;
Private Sub MostraDati()


ds = New DataSet
da = New OleDbDataAdapter("SELECT * FROM qryClientiPrenotazioniPrestazioni WHERE (Cognome LIKE'" & txtCognome.Text & "')AND(Nome LIKE '" & txtNome.Text & "') ORDER BY Cognome,Nome", Archivio)
da.Fill(ds, "qryClientiPrenotazioniPrestazioni")

'Contenuto griglia
lvMostra.Items.Clear()
If ds.Tables("qryClientiPrenotazioniPrestazioni").Rows.Count > 0 Then
For i As Integer = 0 To ds.Tables("qryClientiPrenotazioniPrestazioni").Rows.Count - 1
With lvMostra.Items.Add(ds.Tables("qryClientiPrenotazioniPrestazioni").Rows(i).Item(0).ToString)
.SubItems.Add(ds.Tables("qryClientiPrenotazioniPrestazioni").Rows(i).Item(16).ToString)
.SubItems.Add(ds.Tables("qryClientiPrenotazioniPrestazioni").Rows(i).Item(17).ToString)
.SubItems.Add(ds.Tables("qryClientiPrenotazioniPrestazioni").Rows(i).Item(18).ToString)
End With
Next
End If
'----------------=============Colora con righe alterne la gilia =====================----------------------
For Each ItemList As ListViewItem In lvMostra.Items
If i Mod 2 = 1 Then
ItemList.BackColor = Color.DarkKhaki
Else
ItemList.BackColor = Color.Khaki
End If
i += 1
Next
End Sub
-----------------------------------------------------------------------------------------------------
Private Sub txtCognome_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtCognome.TextChanged
ds = New DataSet
da = New OleDbDataAdapter("SELECT * FROM qryClientiPrenotazioniPrestazioni WHERE (Cognome LIKE'" & txtCognome.Text & "') ORDER BY Cognome,Nome", Archivio)
da.Fill(ds, "qryClientiPrenotazioniPrestazioni")

'Contenuto griglia
lvMostra.Items.Clear()
If ds.Tables("qryClientiPrenotazioniPrestazioni").Rows.Count > 0 Then
For i As Integer = 0 To ds.Tables("qryClientiPrenotazioniPrestazioni").Rows.Count - 1
With lvMostra.Items.Add(ds.Tables("qryClientiPrenotazioniPrestazioni").Rows(i).Item(0).ToString)
.SubItems.Add(ds.Tables("qryClientiPrenotazioniPrestazioni").Rows(i).Item(16).ToString)
.SubItems.Add(ds.Tables("qryClientiPrenotazioniPrestazioni").Rows(i).Item(17).ToString)
.SubItems.Add(ds.Tables("qryClientiPrenotazioniPrestazioni").Rows(i).Item(18).ToString)
End With
Next
End If
'----------------=============Colora con righe alterne la gilia =====================----------------------
For Each ItemList As ListViewItem In lvMostra.Items
If i Mod 2 = 1 Then
ItemList.BackColor = Color.DarkKhaki
Else
ItemList.BackColor = Color.Khaki
End If
i += 1
Next

End Sub
---------------------------------------------------------------------------------------------------------
Private Sub txtNome_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtNome.TextChanged
ds = New DataSet
da = New OleDbDataAdapter("SELECT * FROM qryClientiPrenotazioniPrestazioni WHERE (Nome LIKE'" & txtNome.Text & "') ORDER BY Cognome,Nome", Archivio)
da.Fill(ds, "qryClientiPrenotazioniPrestazioni")

'Contenuto griglia
lvMostra.Items.Clear()
If ds.Tables("qryClientiPrenotazioniPrestazioni").Rows.Count > 0 Then
For i As Integer = 0 To ds.Tables("qryClientiPrenotazioniPrestazioni").Rows.Count - 1
With lvMostra.Items.Add(ds.Tables("qryClientiPrenotazioniPrestazioni").Rows(i).Item(0).ToString)
.SubItems.Add(ds.Tables("qryClientiPrenotazioniPrestazioni").Rows(i).Item(16).ToString)
.SubItems.Add(ds.Tables("qryClientiPrenotazioniPrestazioni").Rows(i).Item(17).ToString)
.SubItems.Add(ds.Tables("qryClientiPrenotazioniPrestazioni").Rows(i).Item(18).ToString)
End With
Next
End If
'----------------=============Colora con righe alterne la gilia =====================----------------------
For Each ItemList As ListViewItem In lvMostra.Items
If i Mod 2 = 1 Then
ItemList.BackColor = Color.DarkKhaki
Else
ItemList.BackColor = Color.Khaki
End If
i += 1
Next

End Sub
Ad esempio questo codice inpostato nel frmPrestazioniCliente appena scritto, mi permette di visionore un solo cliente con tutte le prestazioni da eseguire, di visionare se esiste un certo cliente e altro.
Tutto funziona correttamente come desideravo, esiste un modo più abreviato o lascio tutto così, che sugerisci?
Grazie per la cortesia e la pazienza. Oscar
 

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
Buona sera / Buon giorno Oscar,
non ho modo di provare il codice postato, ma leggendolo, mi sembra che sia limitato all'essenziale,
funzionando, non vi apporterei nessuna modifica
alla prossima
Marino
 
Discussioni simili
Autore Titolo Forum Risposte Data
S [WordPress] Creare una select box con partita iva e codice fiscale in base a una logica. WordPress 0
M Analisi sito per pulire codice inutile HTML e CSS 1
JeiMax Modifica codice php personalizzato PHP 2
R Dubbi su siti sviluppati con Wordpress e con codice WordPress 6
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
L Php_aggiornamento codice PHP 3
Shyson Codice wp-login non funziona PHP 2
G Codice html Javascript 1
Shyson Modificare codice e creare link PHP 0
F Il codice php è giusto? PHP 2
napuleone Con le date il codice da di matto o forse non è così Javascript 6
napuleone visualizzare il codice senza usare gli & HTML e CSS 1
Shyson Codice che trova item casuali PHP 1
E Barra di avanzamento codice PHP PHP 4
R [c#] Proteggere il codice dell'applicazione C/C++ 0
D modificare questo codice per inserimento in text e non in tabella jQuery 1
L salvare codice html in mysql PHP 3
A eliminare caratteri diacritici con codice ascii PHP 4
M Controllo del codice fiscale/partita iva PHP 11
Z Difficoltà codice data PHP 0
I PROBLEMA CODICE INSERTION SORT C C/C++ 2
I PROBLEMA CODICE C - INSERTION SORT Presentati al Forum 1
L login con solo un codice PHP 3
M Lanciare alert se il codice fiscale è già presente nel db e lasciare la scelta di inserire all'utente PHP 42
R Modifica codice per l'upload di più file PHP 1
gandalf1959 ricercare porzioni di codice da sito gestito con WordPress WordPress 11
D verifica codice fiscale persona fisica /aziendale stesso campo HTML e CSS 1
A Aprire la window form Add Connection da codice Visual Basic 4
felino [Wordpress] Sito web con codice malevolo WordPress 7
M [PHP] Istruzione "echo" all'interno di codice html PHP 2
C Refresh parte di codice pagina php PHP 6
Shyson [PHP] Aggiungere link al codice PHP 0
felino Domini hackerati con codice malevolo Hosting 2
A come spedire SMS da codice PHP con mdem USB PHP 0
M [PHP] Come inserire codice html in un ciclo while PHP 2
G Eseguire codice solo al termine della chiamata ajax Ajax 1
X [Apache] Creare sito clone/preservare codice sorgente Apache 7
felino [Dominio] File con permessi 444 e codice malevolo Domini 3
Shyson [PHP] Codice iscrizione e invio avviso nuovi articoli PHP 3
elpirata Implementare Copy to clipboard in codice html HTML e CSS 1
L [PHP] Problema su codice o server PHP 5
Shyson [PHP] Inserire testo nel codice PHP 2
Shyson [PHP] Nascondere codice PHP 3
H cancellare avatar in codice PHP PHP 2
G [PHP] Revisione codice per registrazione PHP 8
Shyson [WordPress] [PHP] Creare codice che evidenzia nuovi articoli WordPress 0
M [PHP] Codice fiscale inverso PHP 3
P [HTML] Codice non funzionante su ZP HTML e CSS 1
A Conversione Codice da mysql a mysqli Database 1
J Prendere dati del database e metterli nel codice php PHP 1

Discussioni simili