Foros del Web » Programando para Internet » ASP Clásico »

Duda respecto a Recordset y Access DB

Estas en el tema de Duda respecto a Recordset y Access DB en el foro de ASP Clásico en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 10/09/2012, 13:26
 
Fecha de Ingreso: septiembre-2012
Ubicación: Victoria, Mexico
Mensajes: 1
Antigüedad: 11 años, 7 meses
Puntos: 0
Pregunta Duda respecto a Recordset y Access DB

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

Etiquetas: access, recordset
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:57.