Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Pssare da materie prime a prodotti finiti tramite una maschera
sabato 07 dicembre 2013 - 16.29
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Nickra
Profilo
| Newbie
1
messaggi | Data Invio:
sab 7 dic 2013 - 16:29
CIao a tutti, di buona volontà mi sono messo a studiare un po' di linguaggio SQL consultando siti, tutorial e quant'altro... Dato che devo riuscire a strutturare un database per la gestione di una piccola legatoria dove a partire da colla, carta, spago,copertine ottengo agende.
1) ho creato una tabella "prova" dove ho inserito i seguenti campi : colla, carta, spago, copertine, data
Questa tabella rappresenta l'ingresso in magazzino dei vari materiali avvenuti in una specifica data.
2) ho creato una maschera(provamaschera) riportante tutti i campi della tabella prova e inserendo alcune caselle di testo:
-Testo11
-Testo9
-Testo22
-Testo24
In ogni casella ho inserito il totale di ogni campo della tabella: Testo9 =Somma[(colla)] ; Testo22 =Somma[(spago)] ;Testo11 =Somma[(carta)]; Testo24=Somma[(copertine)].
A questo punto ho definito dei rapporti che stabiliscono la quantità di ogni materiale per costruire un set: colla=1 ; carta=50; spago=2; copertine=1 ;
Quindi ho inserito altre 4 caselle di testo in cui ho calcolato quanti set fosse possibile realizzare con ogni materiale:
-Testo13 =[testo9]/1
-Testo15=[testo11]/50
-Testo26=[Testo22]/2
-Testo28=[Testo24]/1
Bene, a questo punto ho creato un interruttore (interruttore19) e ho creato una routine al click in SQL in cui Acces calcola il minimo valore tra :
Testo13, Testo15,Testo26,Testo28 e lo inserisce in un'altra casella di testo denominata : Testo30 soltanto se il valore di Testo30>1 altrimenti compare un Msgbox con scritto "non abbiamo abbastanza materiali per produrre agende".
Inoltre ho fatto in modo tale che acces sottraesse i materiali necessari alla produzione delle agende direttamente nei campi di origine : colla,carta,spago,copertine.
Questo però non basta dato che ho necessità che queste quantità ottenute nel seguente modo:
[colla] = -( [colla] - ([Testo30] * 1))
[carta] = -([carta] - ([Testo30] * 50))
[spago] = -([spago] - ([Testo30] * 2))
[copertine] = -([copertine] - ([Testo30] * 1))
Vengano inserite in un nuovo record della tabella che dovrà essere compilato ogni volta che faccio click sull'interruttore...
Pensavo di utilizzare il comando INSERT INTO ma mi da sempre errore, come se non lo scrivessi bene...potete correggermi? Vi posto qui sotto tutto il codice evidenziando in grassetto la parte che non funziona.
__________________________________________________ _________________________
Private Sub Interruttore19_Click()
If Val([Testo13]) <= ([Testo15]) Then
[Testo30] = [Testo13]
End If
If Val([Testo13]) >= ([Testo15]) Then
[Testo30] = [Testo15]
End If
If Val([Testo13]) <= ([Testo26]) Then
[Testo30] = [Testo13]
End If
If Val([Testo13]) >= ([Testo26]) Then
[Testo30] = [Testo26]
End If
If Val([Testo13]) <= ([Testo28]) Then
[Testo30] = [Testo13]
End If
If Val([Testo13]) >= ([Testo28]) Then
[Testo30] = [Testo28]
End If
If Val([Testo15]) <= ([Testo26]) Then
[Testo30] = [Testo15]
End If
If Val([Testo15]) >= ([Testo26]) Then
[Testo30] = [Testo26]
End If
If Val([Testo15]) <= ([Testo28]) Then
[Testo30] = [Testo15]
End If
If Val([Testo15]) >= ([Testo28]) Then
[Testo30] = [Testo28]
End If
If Val([Testo30]) < 1 Then
MsgBox ("non abbiamo abbastanza materiale per produrre agende")
[Testo30] = 0
End If
If Val([Testo30]) >= 1 Then
[B] INSERT INTO prova(ID,colla, carta, spago, copertine, data)
VALUES ([ID]=[ID]+1;[colla] = -([colla] - ([Testo30] * 1))',([carta] = -([carta] - ([Testo30] * 50))',[spago] =-( [spago] - ([Testo30] * 2)),[copertine] =-( [copertine] - ([Testo30] * 1)), [data]=[Testo34]); [/B]
End If
End Sub
_________________________________________________________________________________________
Se mi riuscisse, potrei calcolare la somma dei vari campi contenenti numeri positivi e negativi, e venire a conoscenza delle materie prime che rimangono in magazzino quando produco agende... Aspetto i vostri preziosissimi consigli! :)
Torna su
Stanze Forum
Elenco Threads
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 !