Oppure

Loading
16/08/10 22:11
Iohoilpotere
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 18/08/10 12:30
aaa
17/08/10 0:08
HeDo

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...
aaa
17/08/10 1:26
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ò <<
aaa
17/08/10 7:44
HeDo
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: it.wikipedia.org/wiki/…
aaa
17/08/10 14:45
Iohoilpotere
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:
aaa
18/08/10 12:28
Iohoilpotere
ok, misteriosamente mi ritorna errore di sintassi nella preposizione from.

il codice che ho usato è:
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:
    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 18/08/10 13:09
aaa
18/08/10 13:24
HeDo

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.
aaa
18/08/10 14:01
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.
aaa