a ver si alguien puede echarme una mano.
Tengo una aplicación que carga unos datos de un fichero excel. En concreto tiene cuatro registros que puedo mostrar por pantalla si las pinto con una tabla. El siguiente paso es llamar a una funcion que ejecuta un procedimiento almacenado desde dentro de un blucle do while, para que inserte todos los registros del fichero excel pero solo lo ejecuta una vez, es decir, solo inserta un registro en base de datos. Alguien me puede orientar? Es q no puedo meter un procedure dentro de un bucle?
Muchas gracias.
Código:
do while not rsExcel.EOF 'IdServicio = trim(rsExcel(0)) 'Viene vacio Usuario = replace(trim(rsExcel(1)),"'","''") Fecha_Captado = replace(trim(rsExcel(2)),"'","''") Sol_Nip = replace(trim(rsExcel(3)),"'","''") Sol_email = replace(trim(rsExcel(4)),"'","''") Sol_Organization = replace(trim(rsExcel(5)),"'","''") Sol_Unit = replace(trim(rsExcel(6)),"'","''") Sol_CeCo = replace(trim(rsExcel(7)),"'","''") Sol_Refer = replace(trim(rsExcel(8)),"'","''") DR_Empresa = replace(trim(rsExcel(9)),"'","''") DR_Direccion = replace(trim(rsExcel(10)),"'","''") DR_Localidad = replace(trim(rsExcel(11)),"'","''") DR_Codigo_postal = replace(trim(rsExcel(12)),"'","''") DR_Provincia = replace(trim(rsExcel(13)),"'","''") DR_Pais = replace(trim(rsExcel(14)),"'","''") DR_Contacto = replace(trim(rsExcel(15)),"'","''") if Usuario <> "" and Sol_Nip <> "" then Call Almacenar 'Procedimiento almacenado if trim(IdServicio) <> "" then solicitudes = solicitudes & ";" & IdServicio & "" end if Call limpiarcampos end if rsExcel.MoveNext loop rsExcel.Close Sub Almacenar cadenaSQL = "EXEC TRANS_CARGARSOLICITUDES " cadenaSQL = cadenaSQL & vbnewline cadenaSQL = cadenaSQL & "@Usuario ='" & Usuario & "'," cadenaSQL = cadenaSQL & "@Fecha_Captado ='" & obtenerFecha(cstr(day(Fecha_Captado)), cstr(month(Fecha_Captado)), cstr(year(Fecha_Captado)),False) & "'," cadenaSQL = cadenaSQL & "@Sol_Nip ='" & Sol_Nip & "'," cadenaSQL = cadenaSQL & "@Sol_email ='" & Sol_email & "'," cadenaSQL = cadenaSQL & "@Sol_Organization ='" & Sol_Organization & "'," cadenaSQL = cadenaSQL & "@Sol_Unit ='" & Sol_Unit & "'," cadenaSQL = cadenaSQL & "@Sol_CeCo ='" & Sol_CeCo & "'," cadenaSQL = cadenaSQL & "@Sol_Refer ='" & Sol_Refer & "'," cadenaSQL = cadenaSQL & "@DR_Empresa ='" & DR_Empresa & "'," cadenaSQL = cadenaSQL & "@DR_Direccion ='" & DR_Direccion & "'," cadenaSQL = cadenaSQL & "@DR_Localidad ='" & DR_Localidad & "'," cadenaSQL = cadenaSQL & "@DR_Codigo_postal ='" & DR_Codigo_postal & "'," cadenaSQL = cadenaSQL & "@DR_Provincia ='" & DR_Provincia & "'," cadenaSQL = cadenaSQL & "@DR_Pais ='" & DR_Pais & "'," cadenaSQL = cadenaSQL & "@DR_Contacto ='" & DR_Contacto & "'" ejecutar ' el procedimiento me devuelve el id del registro insertado IdServicio = rs("IdServicio") End Sub