Visual Basic - VB6 me trunca las variables string a 255 car.

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

VB6 me trunca las variables string a 255 car.

Publicado por israel (4 intervenciones) el 27/07/2010 08:41:57
--------------------------------------------------------------------------------
Hola, soy nuevo en este foro, y me gustaria plantearles un problema que tengo con VB6 para ver si me pueden apoyar a resolverlo.

Utilizo VB& y SQL SERVER 2000, y desde VB hago una cadena con el QUERY de SQL, este es mas largo de 255 pero por alguna razon, antes de ejecutarlo se corta a los 255 car., no se si alguien tiene la solucion a este problema, se lo agradeceria ya que tengo varios dias atorado...

Les comento, ya reinstale windows, VB, SQL y sigue igual, esto pensando que habria algun problema con la instalacion o algo relacionado.

De antemano gracias por su ayuda.

Saludos.
Israel
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

RE:VB6 me trunca las variables string a 255 car.

Publicado por Jimmy T (134 intervenciones) el 27/07/2010 15:37:05
Muestrame cuando defines la variable y cuando le asignas el query
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
sin imagen de perfil

RE:VB6 me trunca las variables string a 255 car.

Publicado por Israel (4 intervenciones) el 27/07/2010 16:34:36
la variable MI_SQL es string declarada como global

Public Mi_SQL As String


Mi_SQL = "SELECT Ope_Arrendam.*, Ope_Arrendam_Detalles.*, Cat_Materia_Prima.*"
Mi_SQL = Mi_SQL & " FROM Ope_Arrendam,Ope_Arrendam_Detalles,Cat_Materia_Prima "
Mi_SQL = Mi_SQL & " Where (Ope_Arrendam.No_Entrada = Ope_Arrendam_Detalles.No_Entrada) AND (Ope_Arrendam.Fecha =" & Par_Fecha & Format(Now, "MM/dd/yyyy") & "' "
Mi_SQL = Mi_SQL & " AND USUARIO_CREO='" & Nombre_Usuario & "'"

Saludos.
Israel
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

RE:VB6 me trunca las variables string a 255 car.

Publicado por Jimmy T (134 intervenciones) el 28/07/2010 00:42:54
Tambien mostrame la parte donde ejecutas la sentencia
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
sin imagen de perfil

RE:VB6 me trunca las variables string a 255 car.

Publicado por israel (4 intervenciones) el 28/07/2010 06:32:55
Set Rs_Totales_Tipo_Producto = Mi_Ayudante.Recordset_Consultar(Mi_SQL)
If Not Rs_Totales_Tipo_Producto.EOF Then
'Inicia el manejo del los tipos de productos
While Not Rs_Totales_Tipo_Producto.EOF
Nombre = Mid(Rs_Totales_Tipo_Producto("Nombre"), 1, 20)
Espacio1 = 21 - Len(LCase(Nombre))
total = Mid(Rs_Totales_Tipo_Producto("Total"), 1)
etc etc etc


---------------------------------------------- LA DECLARACION DE LA FUNCION

Public Function Recordset_Consultar(Mi_SQL As String) As rdoResultset
Dim Mi_Query As New rdoQuery 'Obtiene los valores de la consulta
With Mi_Query
Set .ActiveConnection = Conexion_Base
.SQL = Mi_SQL
.LockType = rdConcurReadOnly
.CursorType = rdOpenDynamic
.RowsetSize = 20
Set Recordset_Consultar = .OpenResultset
End With
End Function

Saludos.
Israel
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

RE:VB6 me trunca las variables string a 255 car.

Publicado por Jimmy T (134 intervenciones) el 28/07/2010 21:09:36
El Visual Basic no creo que sea Israel pues probe tu codigo adaptado para una base de datos que tengo en SQL Server 7 y con un query de 322 caracteres y no me trunca nada.

Lo más seguro que tenga que ver con tu base de datos.

O prueba usar el debugger para ver en que parte se corta el string

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
sin imagen de perfil

RE:VB6 me trunca las variables string a 255 car.

Publicado por israel (4 intervenciones) el 29/07/2010 06:52:25
Ya habia hecho esa prueba, el string me lo corta exactamente en la ultima linea que le agrego al string MI_Sql.

Me lo corta antes de ejecutar el recordset.

Estoy utilizando SQL SERVER 2000 y VB6, te comento, el VB no le he instalado el SP6 porque lo quise instalar, incluso despues de haber formateado mi laptop y me mando un mensaje que debo instalar un SP6 personalizado por los idiomas. Pero tengo XP en español, VB6 en español y SQL SERVER 2000 en español.

Saludos y gracias por tu ayuda.
Israel
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

RE:VB6 me trunca las variables string a 255 car.

Publicado por Jimmy T (134 intervenciones) el 29/07/2010 15:23:07
Estoy en exactamente las mismas condiciones, y lo único que difiere entre nosotros es la version de SQL Server pero dices que el string se corta sin siquiera haber ejecutado el recordset.

¿Has ejecutado antes consultas mas allá de 255 caracteres?

Y bueno sé que puede terminar resultando en lo mismo pero trata de asignar la consulta así:

Mi_SQL = "SELECT Ope_Arrendam.*, Ope_Arrendam_Detalles.*, Cat_Materia_Prima.* " _
& "FROM Ope_Arrendam,Ope_Arrendam_Detalles,Cat_Materia_Prima " _
& "Where (Ope_Arrendam.No_Entrada = Ope_Arrendam_Detalles.No_Entrada) " _
& "AND (Ope_Arrendam.Fecha =" & Par_Fecha & Format(Now, "MM/dd/yyyy") & "' " _
& "AND USUARIO_CREO='" & Nombre_Usuario & "'"

Public Function Recordset_Consultar(Byval Mi_SQL As String) As rdoResultset

etc...

En todo caso si eso no funciona o no consigues otra solución puedes idearte alguna manera de obtener los resultados de dicha consulta en dos partes que impliquen consultas más pequeñ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