Pssare da materie prime a prodotti finiti tramite una maschera

sabato 07 dicembre 2013 - 16.29

Nickra Profilo | Newbie

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! :)
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 !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5