Buenas Tardes, mi nombre es Daniel Castillo y soy nuevo por aqui, espero que el tema este bien posteado, si no, agradeceria me dijeran como hacerlo, para tenerlo de la forma correcta la proxima ves, bien sin mas les dejo mi duda a ver si me pueden ayudar a resolverla.
Tengo una base de datos en access la cual cuenta con las siguientes tablas:
Catalogo.- Contiene un listado de Numeros de Parte y un Codigo que le corresponde a cada uno de los Numeros de Parte( un codigo puede ser comun para varios numeros de parte)
CodigoContador.- Esta tabla tiene los codigos mas las columnas Dia1,Dia2, etc, en estos campos (Dia1, Dia2) se almacenara cuanto hay de ese codigo en ese dia
TopeLinea.- Una tabla que indica los topes de cantidad de cada codigo
Upload.- Una tabla que adquiere datos de un archivo .csv con los numeros de parte a analisar junto con la cantidad que cada numero de parte tiene.
El sistema debe tomar el archivo csv, tomar el primer numero de parte, ir a la tabla catalogo, encontrar ese numero de parte, traer el codigo al que pertenece, con ese codigo ir a la tabla codigo contador y sumar en cada dia, la cantidad que trae ese numero de parte para los dias DIA1,DIA2, etc, donde el codigo sea igual al codigo que es comun para el numero de parte del primer registro, y asi sucesivamente, el problema es que al tomar el primer numero de parte y despues tratar de hacer el match en la lista, el recordset llega a EOF y despues no suma nada, no se si me explique bien, les dejo mi codigo a ver si me entienden un poco de lo que estoy hablando:
<%Option Explicit%>
<html>
<head>
<title>Archivo Cargado</title>
</head>
<body background="Fondo.jpg">
<%
Dim objFSO,oInStream,sRows,arrRows
Dim Conn,strSQL,objExec
Dim sFileName,sFileName2
Dim mySmartUpload,Conexion,puntero1,puntero2,SQLNP,NP, vcodigo,SQLSuma,SQLCodigo,Conexion2
'*** Upload By aspSmartUpload ***'
'*** Create Object ***'
Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
'*** Upload Files ***'
mySmartUpload.Upload
'** Getfile Name ***'
sFileName = mySmartUpload.Files("file1").FileName
sFileName2 = mySmartUpload.Files("file2").FileName
'================================================= ===CARGAR ARCHIVO UPLOAD============================================ ===============
'================================================= ================================================== =================================
'================================================= ================================================== =================================
If sFileName <> "" Then
'*** Upload **'
mySmartUpload.Files("file1").SaveAs(Server.MapPath ("shotdev/" & sFileName))
'*** Create Object ***'
Set objFSO = CreateObject("Scripting.FileSystemObject")
'*** Check Exist Files ***'
If Not objFSO.FileExists(Server.MapPath("shotdev/" & sFileName)) Then
Response.write("File not found.")
Else
'*** Open Files ***'
Set oInStream = objFSO.OpenTextFile(Server.MapPath("shotdev/" & sFileName),1,False)
'*** open Connect to Access Database ***'
Set Conn = Server.Createobject("ADODB.Connection")
Conn.Open "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("shotdev/ProyectoProduccion.mdb"),"" , ""
Do Until oInStream.AtEndOfStream
sRows = oInStream.readLine
arrRows = Split(sRows,",")
'*** Insert to table customer2 ***'
strSQL = ""
strSQL = strSQL &"INSERT INTO Upload "
strSQL = strSQL &"(NP,Planta,Numero,Fecha,Dia1,Dia2,Dia3,Dia4,Dia5 ,Dia6,Dia7,Dia8,Dia9,Dia10,Dia11,Dia12,Dia13,Dia14 ,Semana3,Semana4,Semana5,Semana6,Semana7,Semana8,S emana9,Semana10,Semana11,Semana12,Semana13,Semana1 4,Semana15,Semana16)"
strSQL = strSQL &"VALUES "
strSQL = strSQL &"('"&arrRows(0)&"','"&arrRows(1)&"','"&arrRows(2) &"' "
strSQL = strSQL &",'"&arrRows(3)&"','"&arrRows(4)&"','"&arrRows(5) &"' "
strSQL = strSQL &",'"&arrRows(6)&"','"&arrRows(7)&"','"&arrRows(8) &"' "
strSQL = strSQL &",'"&arrRows(9)&"','"&arrRows(10)&"','"&arrRows(1 1)&"' "
strSQL = strSQL &",'"&arrRows(12)&"','"&arrRows(13)&"','"&arrRows( 14)&"' "
strSQL = strSQL &",'"&arrRows(15)&"','"&arrRows(16)&"','"&arrRows( 17)&"' "
strSQL = strSQL &",'"&arrRows(18)&"','"&arrRows(19)&"','"&arrRows( 20)&"' "
strSQL = strSQL &",'"&arrRows(21)&"','"&arrRows(22)&"','"&arrRows( 23)&"' "
strSQL = strSQL &",'"&arrRows(24)&"','"&arrRows(25)&"','"&arrRows( 26)&"' "
strSQL = strSQL &",'"&arrRows(27)&"','"&arrRows(28)&"','"&arrRows( 29)&"' "
strSQL = strSQL &",'"&arrRows(30)&"','"&arrRows(31)&"')"
Set objExec = Conn.Execute(strSQL)
Set objExec = Nothing
Loop
oInStream.Close()
Conn.Close()
Set oInStream = Nothing
Set Conn = Nothing
End If
End IF
'===============================================CA RGAR ARCHIVO DE TOPES DE LINEA============================================= ========
'================================================= ================================================== =================================
'================================================= ================================================== =================================
If sFileName2 <> "" Then
'*** Upload **'
mySmartUpload.Files("file2").SaveAs(Server.MapPath ("shotdev/" & sFileName2))
'*** Create Object ***'
Set objFSO = CreateObject("Scripting.FileSystemObject")
'*** Check Exist Files ***'
If Not objFSO.FileExists(Server.MapPath("shotdev/" & sFileName2)) Then
Response.write("File not found.")
Else
'*** Open Files ***'
Set oInStream = objFSO.OpenTextFile(Server.MapPath("shotdev/" & sFileName2),1,False)
'*** open Connect to Access Database ***'
Set Conn = Server.Createobject("ADODB.Connection")
Conn.Open "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("shotdev/ProyectoProduccion.mdb"),"" , ""
Do Until oInStream.AtEndOfStream
sRows = oInStream.readLine
arrRows = Split(sRows,",")
'*** Insert to table customer2 ***'
strSQL = ""
strSQL = strSQL &"INSERT INTO TopeLinea "
strSQL = strSQL &"(Codigo,Tope)"
strSQL = strSQL &"VALUES "
strSQL = strSQL &"('"&arrRows(0)&"','"&arrRows(1)&"')"
Set objExec = Conn.Execute(strSQL)
Set objExec = Nothing
Loop
oInStream.Close()
Conn.Close()
Set oInStream = Nothing
Set Conn = Nothing
End If
End IF
'========================================= SELECCIONA Y EMPIEZA A SUMAR ================================================== ====
'================================================= ================================================== ==========================
'================================================= ===================== ================================================== ====
'================================================= ================================================== ==========================
SET Conexion = Server.CreateObject("ADODB.Connection")
Conexion.Open "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("shotdev/ProyectoProduccion.mdb"),"" , ""
SQLNP="SELECT * FROM Upload"
set puntero1 = Conexion.Execute(SQLNP)
puntero1.movefirst
Do While puntero1.EOF = False
SQLCodigo = "SELECT Codigo FROM Catalogo WHERE NP ='"&puntero1.Fields("NP")&"'"
set puntero2=Conexion.Execute(SQLCodigo)
IF puntero2.EOF then
Response.Write("<SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>")
Response.Write("alert(""Este NP no tiene Asignado un codigo de ARNES."");")
Response.Write("</SCRIPT>")
Else
vcodigo = puntero2.Fields("Codigo")
SQLSUMA = "UPDATE CodigoContador SET Dia1=Dia1+"&puntero1.Fields("Dia1")&",Dia2=Dia2+"& puntero1.Fields("Dia2")&",Dia3=Dia3+"&puntero1.Fie lds("Dia3")&",Dia4=Dia4+"&puntero1.Fields("Dia4")& ",Dia5=Dia5+"&puntero1.Fields("Dia5")&",Dia6=Dia6+ "&puntero1.Fields("Dia6")&",Dia7=Dia7+"&puntero1.F ields("Dia7")&",Dia8=Dia8+"&puntero1.Fields("Dia8" )&",Dia9=Dia9+"&puntero1.Fields("Dia9")&",Dia10=Di a10+"&puntero1.Fields("Dia10")&",Dia11=Dia11+"&pun tero1.Fields("Dia11")&",Dia12=Dia12+"&puntero1.Fie lds("Dia12")&",Dia13=Dia13+"&puntero1.Fields("Dia1 3")&",Dia14=Dia14+"&puntero1.Fields("Dia14")&",Sem ana3=Semana3+"&puntero1.Fields("Semana3")&",Semana 4=Semana4+"&puntero1.Fields("Semana4")&",Semana5=S emana5+"&puntero1.Fields("Semana5")&",Semana6=Sema na6+"&puntero1.Fields("Semana6")&",Semana7=Semana7 +"&puntero1.Fields("Semana7")&",Semana8=Semana8+"& puntero1.Fields("Semana8")&",Semana9=Semana9+"&pun tero1.Fields("Semana9")&",Semana10=Semana10+"&punt ero1.Fields("Semana10")&",Semana11=Semana11+"&punt ero1.Fields("Semana11")&",Semana12=Semana12+"&punt ero1.Fields("Semana12")&",Semana13=Semana13+"&punt ero1.Fields("Semana13")&",Semana14=Semana14+"&punt ero1.Fields("Semana14")&",Semana15=Semana15+"&punt ero1.Fields("Semana15")&",Semana16=Semana16+"&punt ero1.Fields("Semana16")&" WHERE Codigo='"&vcodigo&"'"
Conexion.Execute(SQLSUMA)
End IF
puntero1.movenext
loop
Conexion.Close
Set Conexion = nothing
%>
</body>
</html>
En donde Esta el comentario SELECCIONA y EMPIEZA SUMA es donde tengo el problema, agradezco su ayuda de antemano, muchas gracias