Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Join fra due tabelle
Forum - Visual Basic 6 - Join fra due tabelle

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
Iohoilpotere (Ex-Member)
Pro


Messaggi: 80
Iscritto: 13/09/2009

Segnala al moderatore
Postato alle 0:11
Martedì, 17/08/2010
E' un po che non programmo e mi sono un po arrugginito, sopratutto in VB6 (Dato che ultimamente mi stavo dando al .NET). Sono stato incaricato di creare un programma per la gestione del magazzino. Il programma è finito, ma avendo ancora altro tempo libero mi stavo divertendo a ottimizzarlo.  Ora spiego il problema:

Ci sono due tabelle, una "Vendite" e l'altra "Prodotti". Quando l'utente registra una vendita il programma salva nel DB i dati relativi alla vendita (codice dell'oggetto, data della vendita, numero di oggetti venduti, eventuale sconto) e scala il numero di oggetti dal record nella tabella prodotti. Quando vado ad aprire il form dei movimenti ho però il seguente problema: Non posso ordinarli per nome. Questo perché nella tabella è salvato il codice prodotto (che è chiave primaria della tabella Prodotti) e non il nome (dato che si tratta di un negozio di abbigliamento lo stesso prodotto può essere in colori o taglie differenti, e per non cadere in inutili ridondanze sbeffeggiando Boyce e Codd ho messo solo il codice, che è un contatore). Quindi mi servirebbe il codice SQL di un merge fra due tabelle (che venga preso da VB6), dove alla tabella "Vendite" viene aggiunto il campo "Nome" in collegamento alla tabella "prodotti".

Mi scuso per l'eccessiva lungaggine e ringrazio in anticipo =D

EDIT: Modificato il titolo

Ultima modifica effettuata da Iohoilpotere il 18/08/2010 alle 14:30
PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 2:08
Martedì, 17/08/2010

per quello che chiedi basta fare l'ordinamento con un semplice join.

ma la cosa più sconcertante è che "stavi programmando in .net" ma ti hanno chiesto di realizzare un programma... e lo hai fatto in vb6!

...no comment...

PM Quote
Avatar
Iohoilpotere (Ex-Member)
Pro


Messaggi: 80
Iscritto: 13/09/2009

Segnala al moderatore
Postato alle 3:26
Martedì, 17/08/2010
deve girare su un PC del 2000 vecchio come la morte, non vorrei creare problemi installando il net framework quindi l'ho fatto in VB6. Ecco, il join, non ricordo la sintassi però <<

PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 9:44
Martedì, 17/08/2010
Testo quotato

Postato originariamente da Iohoilpotere:

deve girare su un PC del 2000 vecchio come la morte, non vorrei creare problemi installando il net framework quindi l'ho fatto in VB6. Ecco, il join, non ricordo la sintassi però <<



ci gira benissimo :)

e la sintassi la si trova su wiki: http://it.wikipedia.org/wiki/Join_%28SQL%29

PM Quote
Avatar
Iohoilpotere (Ex-Member)
Pro


Messaggi: 80
Iscritto: 13/09/2009

Segnala al moderatore
Postato alle 16:45
Martedì, 17/08/2010
uhm, buono a sapersi << La prossima volta che mi danno un lavoro su PC medioevali provvederò a installarci il .NET framework anziché tornare a VB6. Grazie per il link. So che avrei potuto cercarlo da solo ma avevo confuso il merge con il join e non avevo trovato il risultato che cercavo. Ieri sera alle 3 stavo andando a dormire e cercare su google era chiedermi troppo :asd:

PM Quote
Avatar
Iohoilpotere (Ex-Member)
Pro


Messaggi: 80
Iscritto: 13/09/2009

Segnala al moderatore
Postato alle 14:28
Mercoledì, 18/08/2010
ok, misteriosamente mi ritorna errore di sintassi nella preposizione from.

il codice che ho usato è:
Codice sorgente - presumibilmente Visual Basic 6

  1. Set tb1 = DBD.OpenRecordset("SELECT * FROM Vendite NATURAL JOIN Prodotti ORDER BY Nome")



Ho come l'impressione che ci sia qualcosa che non va nel codice che ho scritto... ho provato con tutti i join nella pagina ma nessuno mi risulta funzionare.

EDIT: Ebbene si, uso addirittura DAO al posto di ADO <<
EDIT2: Ho ovviato con:
Codice sorgente - presumibilmente Visual Basic 6

  1. Set tb1 = DBD.OpenRecordset("SELECT * FROM Vendite INNER JOIN Prodotti ON Vendite.CodPro = Prodotti.CodPro ORDER BY Nome")



ma non essendo il tipo di join che mi serve mi ritorna un recordset pressoché inutile per le operazioni che devo compiere dopo...

Ultima modifica effettuata da Iohoilpotere il 18/08/2010 alle 15:09
PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 15:24
Mercoledì, 18/08/2010

ma che parliamo a fare... stai facendo un gestionale senza avere la più pallida idea di cosa sia l'accesso ai dati, sql o non sql.

PM Quote
Avatar
Iohoilpotere (Ex-Member)
Pro


Messaggi: 80
Iscritto: 13/09/2009

Segnala al moderatore
Postato alle 16:01
Mercoledì, 18/08/2010
Uhm, la tua arroganza è particolarmente fastidiosa << Un diploma in informatica gestionale e una seconda prova da 14/15 in informatica gestionale (perché avevo sbagliato una tag in html)non sono tanto, ma poter dire che una persona non ha la più pallida idea di cosa sia l'accesso dati basandosi sull'esatto "nulla" mi sembra una mossa un po azzardata. Inoltre non mi pare di aver mai detto di essere un programmatore esperto, non a caso ho chiesto aiuto su una cosa che obiettivamente non è poi così complessa. Indi per cui, avendo cercato già sul web la sintassi del natural join e non avendola trovata sto chiedendo aiuto, e trovo inutili commenti riguardo le capacità personali degli utenti.

PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 16:20
Mercoledì, 18/08/2010
Testo quotato

Postato originariamente da Iohoilpotere:

Uhm, la tua arroganza è particolarmente fastidiosa << Un diploma in informatica gestionale e una seconda prova da 14/15 in informatica gestionale (perché avevo sbagliato una tag in html)non sono tanto, ma poter dire che una persona non ha la più pallida idea di cosa sia l'accesso dati basandosi sull'esatto "nulla" mi sembra una mossa un po azzardata. Inoltre non mi pare di aver mai detto di essere un programmatore esperto, non a caso ho chiesto aiuto su una cosa che obiettivamente non è poi così complessa. Indi per cui, avendo cercato già sul web la sintassi del natural join e non avendola trovata sto chiedendo aiuto, e trovo inutili commenti riguardo le capacità personali degli utenti.



sinceramente mi sento tirato in ballo, sviluppo software gestionale per professionisti e ti posso dire che sono proprio i gestionali fatti dai programmatori "come te" che creano i veri casini.

non ci si può improvvisare programmatori, tantomeno sul lavoro.
la mia arroganza è dettata dal fatto che ho visto tanta di quella spazzatura spacciata come "gestionale" che NON HAI IDEA.

se uno non sa fare il lavoro per cui lo pagano deve solo dire: "no grazie, meglio lo faccia qualcun altro più preparato"

invece, se si ha un problema nella realizzazione di un software commerciale e il problema verte su un piccolo dettaglio o su una feature particolarmente avanzata, sono IL PRIMO che si mette li a darti una mano.

ma ora non venirmi a chiedere le join per favore... un po di decenza...

N.B: a cosa serve un diploma se messi davanti al problema REALE non lo si sa risolvere? cosa servono i voti? cosa servono le certificazioni? a dire "io lo DOVREI saper fare".

tutto questo rigorosamente IMO.

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo