Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026
In occasione del proprio Architecture Deep Dive 2025 Qualcomm ha mostrato in dettaglio l'architettura della propria prossima generazione di SoC destinati ai notebook Windows for ARM di prossima generazione. Snapdragon X2 Elite si candida, con sistemi in commercio nella prima metà del 2026, a portare nuove soluzioni nel mondo dei notebook sottili con grande autonomia
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
DJI Mini 5 Pro porta nella serie Mini il primo sensore CMOS da 1 pollice, unendo qualità d'immagine professionale alla portabilità estrema tipica di tutti i prodotti della famiglia. È un drone C0, quindi in un peso estremamente contenuto e che non richiede patentino, propone un gimbal rotabile a 225 gradi, rilevamento ostacoli anche notturno e autonomia fino a 36 minuti. Caratteristiche che rendono il nuovo drone un riferimento per creator e appassionati
ASUS Expertbook PM3: il notebook robusto per le aziende
ASUS Expertbook PM3: il notebook robusto per le aziende
Pensato per le necessità del pubblico d'azienda, ASUS Expertbook PM3 abbina uno chassis particolrmente robusto ad un pannello da 16 pollici di diagonale che avantaggia la produttività personale. Sotto la scocca troviamo un processore AMD Ryzen AI 7 350, che grazie alla certificazione Copilot+ PC permette di sfruttare al meglio l'accelerazione degli ambiti di intelligenza artificiale
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-02-2005, 19:00   #1
DarkSiDE
Senior Member
 
L'Avatar di DarkSiDE
 
Iscritto dal: Dec 2001
Città: Lecce
Messaggi: 3936
[vb+access] query annidata

Codice:
sSql = sSql & "INSERT INTO scheda (cliente, giorno, esercizio)" & vbCrLf
sSql = sSql & "VALUES ('" & clienteA & "'+ SELECT giorno, esercizio FROM scheda where scheda.cliente='" & clienteDA & "')" & vbCrLf

mi sapete dire perchè non mi funziona? la query interna funziona perfettamente, credo che sia il concatenamento che non va


grazie
__________________
Non farò mai più affari con khalhell, 4HwGenXX.

Ultima modifica di DarkSiDE : 17-02-2005 alle 09:57.
DarkSiDE è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2005, 17:40   #2
DarkSiDE
Senior Member
 
L'Avatar di DarkSiDE
 
Iscritto dal: Dec 2001
Città: Lecce
Messaggi: 3936
qualcuno mi può aiutare?
__________________
Non farò mai più affari con khalhell, 4HwGenXX.
DarkSiDE è offline   Rispondi citando il messaggio o parte di esso
Old 18-02-2005, 01:56   #3
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Stampa la query già completata di tutti i campi su un file di testo o su una text box e verifica che funzioni veramente in Access...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 18-02-2005, 09:39   #4
DarkSiDE
Senior Member
 
L'Avatar di DarkSiDE
 
Iscritto dal: Dec 2001
Città: Lecce
Messaggi: 3936
Quote:
Originariamente inviato da cionci
Stampa la query già completata di tutti i campi su un file di testo o su una text box e verifica che funzioni veramente in Access...

una query funziona, il problema è nella "insert", precisamente credo sia il concatenamento che non va

Codice:
sSql = sSql & "VALUES ('" & clienteA & "'+
__________________
Non farò mai più affari con khalhell, 4HwGenXX.
DarkSiDE è offline   Rispondi citando il messaggio o parte di esso
Old 18-02-2005, 10:22   #5
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Eh sì...devi emttere uno spazio alla fine della prima o all'inzio della seconda stringa...senza vbCrLf...prova così...

Inoltre non capisco a che serve mettere una SELECT dentro VALUES...sinceramente non l'ho mai fatto...

Ultima modifica di cionci : 18-02-2005 alle 10:25.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 18-02-2005, 14:14   #6
DarkSiDE
Senior Member
 
L'Avatar di DarkSiDE
 
Iscritto dal: Dec 2001
Città: Lecce
Messaggi: 3936
Quote:
Originariamente inviato da cionci
Eh sì...devi emttere uno spazio alla fine della prima o all'inzio della seconda stringa...senza vbCrLf...prova così...

Inoltre non capisco a che serve mettere una SELECT dentro VALUES...sinceramente non l'ho mai fatto...
meglio un ciclo?
__________________
Non farò mai più affari con khalhell, 4HwGenXX.
DarkSiDE è offline   Rispondi citando il messaggio o parte di esso
Old 18-02-2005, 15:10   #7
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da DarkSiDE
meglio un ciclo?
Più che altro quello che mi domando è se funziona davvero
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 18-02-2005, 17:54   #8
DarkSiDE
Senior Member
 
L'Avatar di DarkSiDE
 
Iscritto dal: Dec 2001
Città: Lecce
Messaggi: 3936
Quote:
Originariamente inviato da cionci
Più che altro quello che mi domando è se funziona davvero

di funzionare funziona, io non conosco quali potrebbero esserele alternative
__________________
Non farò mai più affari con khalhell, 4HwGenXX.
DarkSiDE è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2005, 12:00   #9
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Mi fai un esempio di una query di questo tipo completa (con tutti i parametri valorizzati) ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2005, 12:41   #10
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Mi spieghi quanti record vorresti aggiungere con quella query ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2005, 13:02   #11
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
L'idea è giusta, ma forse c'è un errore, per fare una query di quel tipo tu devi dare alla select gli STESSI IDENTICI campi che hai messo nella insert... se nn dico una cacchiata, tu li hai messo un parametro fisso ed una select da 2 valori... nn credo che questo piaccia molto sai al database!


Secondo me l'unica maniera è fregare la query, danto un parametro fisso, ma già dentro alla query, nn fuori (come avevi fatto te), così in questa maniera lui crea la sottoquery identica ai campi che ti serve per la insert!


Prova a mettere questa:

Codice:
    sSql = sSql & "INSERT INTO scheda (cliente, giorno, esercizio)" & vbCrLf
    sSql = sSql & "VALUES (SELECT '" & clienteA & "' as cliente, giorno, esercizio FROM scheda where scheda.cliente='" & clienteDA & "')" & vbCrLf
Il risultato della variabile da passare sarà questo:
(nella mia prova cliente A e cliente DA valgono rispettivamente '123' e '456'

Codice:
INSERT INTO scheda (cliente, giorno, esercizio)
VALUES (SELECT '123' as cliente, giorno, esercizio FROM scheda where scheda.cliente='456')
Così facendo, ti potreggi anche dal problema che a volte potresti tirare fuori una query maggiore di una riga!
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!"
A. Einstein
matpez è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2005, 13:06   #12
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da matpez
Così facendo, ti potreggi anche dal problema che a volte potresti tirare fuori una query maggiore di una riga!
Infatti...come ha scritto lui dovrebbe funziona solo su una riga e fa un concatenamento fra stringhe...quindi riempie un solo campo (di conseguenza la query è errata perchè ne aveva specificati 3 nella INSERT), ma bisogna capire per bene quello che ha intenzione di fare...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2005, 16:22   #13
DarkSiDE
Senior Member
 
L'Avatar di DarkSiDE
 
Iscritto dal: Dec 2001
Città: Lecce
Messaggi: 3936
Quote:
Originariamente inviato da cionci
Infatti...come ha scritto lui dovrebbe funziona solo su una riga e fa un concatenamento fra stringhe...quindi riempie un solo campo (di conseguenza la query è errata perchè ne aveva specificati 3 nella INSERT), ma bisogna capire per bene quello che ha intenzione di fare...


Non avevo considerato la possibilità che la query potesse restituire più righe, ecco l'errore

non capisco perchè mi ha consigliato l''"as"

cmq visto che avevo fretta di risolvere, ho fatto con un ciclo


Codice:
   
    sFile = App.Path & "\db1.mdb"
    Set cn = New ADODB.Connection
    Set cn1 = New ADODB.Connection
    cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & sFile
    cn1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & sFile
    cn.Open
    'insert into tabella2 select * from tabella1 where condizione
    sSql = ""
    sSql = "delete FROM Scheda WHERE Cliente='" & clienteA & "'"
    cn.Execute sSql
    
    sSql = "SELECT * FROM Scheda WHERE Cliente='" & clienteDA & "'"
    Set rs = cn.Execute(sSql)
    While Not (rs.EOF)
        cn1.Open
        sSql1 = ""
        sSql1 = "INSERT INTO Scheda" & vbCrLf
        sSql1 = sSql1 & "VALUES ('" & rs("Giorno") & "','" & rs("Esercizio") & "','" & rs("Ripetizioni") & "','" & rs("Note") & "','" & clienteA & "','" & rs("posizione") & "')"
        cn1.Execute sSql1
        cn1.Close
        rs.MoveNext
    Wend
   
    sSql = "SELECT giorno, esercizio, ripetizioni, note, posizione FROM scheda where scheda.cliente='" & clienteDA & "'" & vbCrLf
__________________
Non farò mai più affari con khalhell, 4HwGenXX.
DarkSiDE è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2005, 16:26   #14
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Non importa fare un query per ogni ciclo...puoi fare uan cosa del genere:

INSERT INTO NomeTabella (Pippo, Pluto, Paperino)
VALUES (('1', '2', '3'), ('4', '5', '6'), ('7', '8', '9'));

In pratica ti componi la query durante il ciclo...e poi vai afare l'insert dopo il ciclo...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 20-02-2005, 04:14   #15
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
Ma scusa, ma se tanto il tuo campo clienteA è sempre fisso, come mai nn hai usato quella tecnica che ti ho suggerito? ti risparmiavi il ciclo
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!"
A. Einstein
matpez è offline   Rispondi citando il messaggio o parte di esso
Old 20-02-2005, 10:52   #16
DarkSiDE
Senior Member
 
L'Avatar di DarkSiDE
 
Iscritto dal: Dec 2001
Città: Lecce
Messaggi: 3936
Quote:
Originariamente inviato da cionci
Non importa fare un query per ogni ciclo...puoi fare uan cosa del genere:

INSERT INTO NomeTabella (Pippo, Pluto, Paperino)
VALUES (('1', '2', '3'), ('4', '5', '6'), ('7', '8', '9'));

In pratica ti componi la query durante il ciclo...e poi vai afare l'insert dopo il ciclo...

già,non ci avevo pensato, grazie mille,c'è da dire che quelle righe vengono richiamate molto raramente e per poche righe, quindi non mi sono posto il problema più di tanto


matpez se hai la pazienza di spiegarmi..non ho capito come funziona la tua query
__________________
Non farò mai più affari con khalhell, 4HwGenXX.
DarkSiDE è offline   Rispondi citando il messaggio o parte di esso
Old 20-02-2005, 11:24   #17
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Puoi passare una SELECT anche alla INSERT INTO... In questo modo i risultati della SELECT verranno immessi nella tabella...

http://msdn.microsoft.com/library/de.../D2/S5A32B.asp
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 20-02-2005, 13:33   #18
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
Come ti ho già accennato io e cionci ti ha dato il link, se tu vuoi fare una query di quel tipo, cioè una INSERT che richiama una SELECT la puoi fare benissimo ma con un unica particolarità: tutti i campi della insert devono essere i campi della select!

Se tu noti, nella tua prima query che hai postato, metti un campo fisso (preso da una variabile) e una select (che richiama 2 valori), questo nn è possibile, perchè come detto, tu nella select devi richiamare gli stessi campi della insert, non solo 2 come hai fatto.
In più nasce un secondario problema, (dico secondario perchè già in partenza è sbagliato il metodo che hai usato tu) cioè che la select tiri fuori più di un record, a questo punto proprio sarebbe sbagliato.

Per "fregare" la query, c'è un sistema che è molto usato in questi casi, proprio quando hai un parametro fisso e dei campi riciamati da una select; il trucchetto è proprio quello che ti avevo postato io. Tutto sta nel dire che il tuo campo "cliente" (ched ate era un fisso), lo mettiamo direttamente dentro alal select, in questa maniera:
Codice:
SELECT 'matteo' as cliente
naturalmente matteo è il contenuto della tua variabile, il resto della select si compone giustamente come avevi fatto te. A qeusto punto la select annidata alla insert prenderà una cosa di questo tipo:

matteo 10/10/2004 abcd
matteo 15/10/2004 efgh
matteo 18/10/2004 ilmn

cioè mettendo fisso il cliente.


Se nn ti è ancora molto chiaro, prova in sql a fare una query qlc e poi alla fine metti appunto questo: SELECT ......, 'matteo' as cliente ; e vedrai che ti tira fuori tutto quello che tu vuoi ma anche una riga con scritto sempre "matteo".


Se tu prendi la query che nn hai capito nel mio post, utilizza questo modo, questo ti risparmia tempo e velocità, perchè un for è più lento rispetto ad una query di questo tipo.

Spero di averti chiarito le idee
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!"
A. Einstein
matpez è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026 Qualcomm Snapdragon X2 Elite: l'architettura del...
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice Recensione DJI Mini 5 Pro: il drone C0 ultra-leg...
ASUS Expertbook PM3: il notebook robusto per le aziende ASUS Expertbook PM3: il notebook robusto per le ...
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo Test ride con Gowow Ori: elettrico e off-road va...
Recensione OnePlus 15: potenza da vendere e batteria enorme dentro un nuovo design   Recensione OnePlus 15: potenza da vendere e batt...
Superati 13.300 MT/s per DDR5: ad ASUS e...
L’evoluzione dell’IA nelle imprese: la v...
Le storie in evidenza di Instagram torna...
Addio GeForce RTX 5060 e Radeon RX 9060?...
Arriva Hisense Déco TV S5Q, estet...
Aggiornata TOP500, la classifica degli H...
Noctua NH-D15 Chromax.black è rea...
NVIDIA aggiorna DGX Spark: nuovo kernel,...
Con Work IQ, Copilot per Microsoft 365 i...
Azure Cobalt 200: svelata la nuova CPU A...
Intel a tutto tondo: tra processi in ram...
AMD FSR Redstone arriverà ufficia...
L'Olanda 'cede' alla Cina: retromarcia t...
Stagione 1 al via: tutte le novità...
TikTok rafforza trasparenza e benessere ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 21:38.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v