Somma dati se codice uguale

GigiBena

Nuovo Utente
7 Apr 2013
12
0
1
Salve
Questa è la mia richiesta
Ho un database Ordinifarmacia.mdb composta da due tabelle: ( reparto e primopiano )
ambedue la tabelle contengono i seguenti campi: (codice prodotto qta )

la funzione che vorrei realizzare deve agire nel seguente modo
controllo il PRIMO record della tabella primopiano con TUTTI i record della tabella reparto.
Se il codice del primo record della tabella primopiano è uguale al codice contenuto nei record della tabella reparto, sommo il dato contenuto nel campo qta della tabella primopiano con il dato qta contenuto nella tabella reparto.
Se invece il codice del primo record della tabella primopiano non è presente nella tabella reparto, aggiungo in quest’ultima un nuovo record contenente i valori presenti nel campo codice, prodotto e qta della tabella primopiano
E cosi per tutti i record della tabella primopiano

1 TABELLA PRIMOPIANO
Codice = 3456
Prodotto = DEPAS GOCCE
QTA = 3


1 TABELLA REPARTO
Codice = 3456
Prodotto = DEPAS GOCCE
QTA = 20

CODICE UGUALE perciò QTA = 23




2 TABELLA PRIMOPIANO

Codice = 5456
Prodotto = MEROPEMEN
QTA = 4


2 TABELLA REPARTO non essendoci il prodotto viene aggiunto
Codice = 5456
Prodotto = MEROPEMEN
QTA = 4

Ringraziando per la disponibilità e il tempo che mi verrà dedicato, porgo distinti saluti

Bena GiovanniLuigi
 

Paolo69

Moderatore
Membro dello Staff
MOD
18 Feb 2010
555
13
18
Italy
www.caprioli.info
dai un occhio, io userei la seguente lociga:

Codice:
<%

' script con ciclo

SELECT * FROM PRIMOPIANO

' | inizia il ciclo
	codice = Rs.Fields.Item("codice").Value
	prodotto = Rs.Fields.Item("prodotto").Value
	quantita1 = Rs.Fields.Item("quantità").Value
	
' || ora verifico che il codice esista o meno nella tabella reparto	

	SELECT * FROM REPARTO WHERE codice = "&codice&"
		
		codice_reparto =  Rs1.Fields.Item("codice").Value
		quantita2 = Rs1.Fields.Item("quantità").Value
	
		' faccio il controllo
			if codice_reparto = codice Then
				quantita1 + quantita1 = quantita_totale
			
			Else
		' faccio uno script per inserire nella tabella
		' reparto i valori rilevati
		
				INSERT INTO REPARTO....
	
			End If
			

' | fine ciclo

%>
ovviamente il codice non è funzionante ma solo indicativo.
 

Paolo69

Moderatore
Membro dello Staff
MOD
18 Feb 2010
555
13
18
Italy
www.caprioli.info
Ecco il codice:
Codice:
<style type="text/css">
<!--
.bordo {
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #CCCCCC;
}
td {
	font-family: Verdana;
	font-size: 11px;
	color: #333333;
	text-decoration: none;
	line-height: 18px;
}
-->
</style>
<table width="500" align="center" cellpadding="2" cellspacing="2" border="0">
<tr>
<td colspan="3">Attenzione, se visualizzi dei record color rosso, significa che l'informazione &eacute; stata parificata nei due DB.</td>
</tr>
<tr align="center">
<td style="background-color:#333333; color:#FFFFFF">Codice</td>
<td style="background-color:#333333; color:#FFFFFF">Prodotto</td>
<td style="background-color:#333333; color:#FFFFFF">Quantit&agrave;</td>
</tr>
<%

'  ---------------------------------------------------
	Set Rs = Server.CreateObject("ADODB.Recordset")
		Rs.ActiveConnection = strConnect
		Rs.Source = "SELECT * FROM primopiano ;"
		Rs.CursorType = 0
		Rs.CursorLocation = 2
		Rs.LockType = 1
		Rs.Open()
		Ciclo = 9999 ' numero massimo record visualizzabili
If NOT Rs.EOF Then

	While ((Ciclo <> 0) AND (NOT Rs.EOF)) 
	
		a1 = (Rs.Fields.Item("id").Value)
		a2 = (Rs.Fields.Item("codice").Value)
		a3 = (Rs.Fields.Item("prodotto").Value)
		a4 = (Rs.Fields.Item("qta").Value)
' ====================================================================
'Response.Write a1&"<br>"	

%>
<%
	Set Rv = Server.CreateObject("ADODB.Recordset")
		Rv.ActiveConnection = strConnect
		Rv.Source = "SELECT * FROM reparto WHERE codice = '"&a2&"' ;"
		Rv.CursorType = 0
		Rv.CursorLocation = 2
		Rv.LockType = 1
		Rv.Open()
		Ciclv = 9999 ' numero massimo record visualizzabili
If NOT Rv.EOF Then

	While ((Ciclv <> 0) AND (NOT Rv.EOF)) 
	
		v1 = (Rv.Fields.Item("id").Value)
		v2 = (Rv.Fields.Item("codice").Value)
		v3 = (Rv.Fields.Item("prodotto").Value)
		v4 = (Rv.Fields.Item("qta").Value)

			Totale = v4 + a4
		
%>
<tr>
<td class="bordo"><%=v2%></td>
<td class="bordo"><%=v3%></td>
<td class="bordo" align="center"><strong><%=Int(Totale)%></strong></td>
</tr>
<%

		Ciclv = Ciclv-1
		Rv.MoveNext()
	Wend
Else

				Set RsUpdate = server.CreateObject ("ADODB.Connection")
					RsUpdate.ConnectionString = strConnect
					RsUpdate.Open
					QuerySQL = "INSERT INTO reparto (" &_
								"codice, " &_
								"prodotto, " &_
								"qta " &_
								") VALUES (" &_
								"'"&a2&"', " &_
								"'"&a3&"', " &_
								"'"&a4&"' )"
					RsUpdate.Execute QuerySQL
				Set RsUpdate = Nothing

%>

<tr>
<td class="bordo"><font color="#FF0000"><%=v2%></font></td>
<td class="bordo"><font color="#FF0000"><%=v3%></font></td>
<td class="bordo" align="center"><strong><font color="#FF0000"><%=Int(Totale)%></font></strong></td>
</tr> 
<%	
		
End If
		Rv.Close
	Set Rv = Nothing ' chiudo il recordset



	
' ====================================================================
		Ciclo = Ciclo-1
		Rs.MoveNext()
	Wend

End If

		Rs.Close
	Set Rs = Nothing ' chiudo il recordset

%>
</table>

La connessione al DB la devi aggiungere te e chiamarla: strConnect
Buon lavoro.
 
Discussioni simili
Autore Titolo Forum Risposte Data
N Estrarre dati che danno una certa somma da Excel, Access o SQL Server Windows e Software 0
G scomponi un numero intero come la somma di 20 numeri interi casuali maggiori di zero diversi fra loro Javascript 1
F Somma di più tabelle da script Javascript 0
E Help Sql somma orari PHP 32
M Somma inversa di Array C/C++ 2
A Moltiplicazione tramite somma PHP 5
A Somma di orari con centesimi PHP 1
V Somma foreach PHP 2
V Somma Risposte PHP 5
V Query per una somma PHP 2
G Somma dei Minuti PHP 3
L somma e informa PHP 16
L query somma PHP 8
L salvare somma con sottrazione PHP 1
W fare la somma di un valore estratto da un ciclo while Classic ASP 0
A Somma delle colonne di una tabella pivot Database 6
MarcoGrazia [PHP] Unioni di due array con somma di valori PHP 6
R php Somma valori in file csv PHP 2
Emix [Javascript] Somma con array input HTML Javascript 1
A [MS Access] Somma Campi se in altro campo presente un determinato testo MS Access 1
A [Javascript] Somma di un campo in una tabella dinamica Javascript 0
T Problema somma mysql MySQL 8
A [Javascript] Somma di input dinamici Javascript 1
B Somma armonica jQuery 3
elpirata [PHP][RISOLTO] Effettuare la somma dei tempi di lavorazione PHP 3
P [PHP] somma totale imponibile e totale fattura PHP 3
Z Somma di numeri in una lista di app inventor Sviluppo app per Android 0
V Somma anni ad una data con datepicker jQuery 1
A [PHP] Somma in unico risultato di più tabelle PHP 6
T [PHP] matrice con somma diagonali PHP 2
Trapano [PHP] somma di una lista di pagamenti PHP 2
Bunz [Javascript] somma orario input + calcolo straordinario Javascript 3
P Query con Somma di un Campo , aggregazione e join Database 3
G Somma variabili impossibile Javascript 3
A Aiuto somma di campi MS Access 0
A Somma di sottoreport su report Database 2
A Controllo somma di valori in una select Ajax 1
R Sistema di conteggio (somma) HTML e CSS 4
G Somma di report e sottoreport MS Access 0
Emix Somma automatica checkbox Javascript 1
Akuma Somma dei campi in una tabella PHP 1
felino Microsoft Excel: somma su un'intera colonna Windows e Software 1
felino [JS] Passare un array ed effettuare la somma degli elementi Javascript 2
N Somma di variabili PHP 3
V perchè una somma può non funzionare? PHP 4
M Somma di due record MySQL 7
blips Controllo somma di valori in una select Javascript 5
C [RISOLTO] Problema somma td, prende solo il primo valore jQuery 7
Emix Somma su punti con controllo vip PHP 5
L Somma solo se non riappare elemento PHP 4

Discussioni simili