Visual Basic - Error " Llamada al procedimiento no valida"

Life is soft - evento anual de software empresarial
   
Vista:

Error " Llamada al procedimiento no valida"

Publicado por Alejandro Romero a-montero@hotmail.es (4 intervenciones) el 16/02/2016 15:52:40
Hola, tengo un codigo en sql, creado en Visual Basic 6, los demas modulos ya están funcionando pero el de trabsferencias me tiene loco, favor ayuda, el error el de llamada al procedimiento no valida.

Este es el codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
sSql = "INSERT INTO tmp3_Transferencias ( Recibido," & _
			" Asunto," & _
			" AsuntoEncontrado," & _
			" Aquien," & _
			" Asunto2," & _
			" Asunto2Encontrado," & _
			" Monto," & _
			" Asunto3," & _
			" Asunto3Encontrado," & _
			" RutProveedor," & _
			" Observacion)" & _
" SELECT     [Recibido] As Recibido," & _
			"[Asunto] AS Asunto," & _
			"InStr([Asunto],'/') AS AsuntoEncontrado," & _
			"Mid([Asunto],1,[AsuntoEncontrado]-2) AS Aquien," & _
			"Mid([Asunto],[AsuntoEncontrado]+3) AS Asunto2," & _
			"InStr([Asunto2],'/') AS Asunto2Encontrado," & _
			"Mid([Asunto2],1,[Asunto2Encontrado]-2) AS Monto," & _
			"Mid([Asunto2],[Asunto2Encontrado]+3) AS Asunto3," & _
			"InStr([Asunto3],'/') AS Asunto3Encontrado," & _
			"Mid([Asunto3],1,[Asunto3Encontrado]-2) AS RutProveedor," & _
			"Mid([Asunto3],[Asunto3Encontrado]+3) AS Observacion" & _
" From tmp2_Transferencias"

Muchas Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Andres Leonardo

Error " Llamada al procedimiento no valida"

Publicado por Andres Leonardo (698 intervenciones) el 16/02/2016 17:37:06
Capturo tu codigo y ejecutandolo me da esto....

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
INSERT INTO tmp3_Transferencias (
Recibido, Asunto, AsuntoEncontrado,
Aquien, Asunto2, Asunto2Encontrado,
Monto, Asunto3, Asunto3Encontrado,
RutProveedor, Observacion)
 
SELECT
[Recibido] As Recibido
,[Asunto] AS Asunto
,InStr([Asunto],'/') AS AsuntoEncontrado
,Mid([Asunto],1,[AsuntoEncontrado]-2) AS Aquien
,Mid([Asunto],[AsuntoEncontrado]+3) AS Asunto2
,InStr([Asunto2],'/') AS Asunto2Encontrado
,Mid([Asunto2],1
,[Asunto2Encontrado]-2) AS Monto
,Mid([Asunto2],[Asunto2Encontrado]+3) AS Asunto3
,InStr([Asunto3],'/') AS Asunto3Encontrado
,Mid([Asunto3],1
,[Asunto3Encontrado]-2) AS RutProveedor
,Mid([Asunto3]
,[Asunto3Encontrado]+3) AS Observacion
From tmp2_Transferencias


En el insert into te falta el values.... la palabra reservada


Adicional al dar F5 en SQL de tu string SSQL me dice
'InStr' is not a recognized built-in function name.

Que entiendo que esa funcion en sql falta algo o no esta correctamente utulizada

Espero te sirva a encontrar la novedad
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error " Llamada al procedimiento no valida"

Publicado por Juan R. (9 intervenciones) el 16/02/2016 21:55:58
Buenas Alejandro

Yo creo que te sería más fácil ejecutar las consultas creando cursores con los datos que quieres para la hora de hacer el "INSERT INTO" sea más fácil de visualizar para ti y evitar errores. Como dice el compañero Andres Leonardo te falta la palabra reservada "VALUES" y la función InStr, estoy convencido que no se llama así.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error " Llamada al procedimiento no valida"

Publicado por Alejandro Romero (4 intervenciones) el 16/02/2016 23:30:24
Gracias Juan por tu tiempo, pero claro, lo que pasa es que Visual Basic trabaja de forma distinta que el motor de base de datos, esta misma consulta la hago en el motor y funciona, pero en visual basic no, pero ya lo solucioné. tuve que hacer lo que dices, con cursores y viendo dato por dato para la carga, y eso hizo un aprox de 4 segundos mas lenta la carga, pero bueno, nada que hacer...

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Wilfredo Patricio Castillo

Error " Llamada al procedimiento no valida"

Pero si estás trabajando contra SQL Server, porqué todo ese código no lo metes en un Store Procedure y le pasas los parámetros necesarios para ese proceso?.

Ya que así como está es pues se debe analizar en cada ejecución.
Y otra cosa, los cursores es la peor decisión que has podido tomar.

Siempre hay alternativas mucho mas sanas que los cursores en sql server.

Saludos cordiales,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar