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

problema cortando texto

Estas en el tema de problema cortando texto en el foro de ASP Clásico en Foros del Web. tengo esta funcion que me funciona super bien con un recorset normal, Código: nomcli = Rs("nombre_cliente") if len(""&nomcli&"")>13 then nomcli = mid(""&nomcli&"",1,13)&".." else nomcli = ...
  #1 (permalink)  
Antiguo 28/10/2004, 11:27
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 22 años, 4 meses
Puntos: 2
problema cortando texto

tengo esta funcion que me funciona super bien con un recorset normal,
Código:
	nomcli = Rs("nombre_cliente")
             if len(""&nomcli&"")>13 then
	nomcli = mid(""&nomcli&"",1,13)&".."
	else
	nomcli = nomcli
	end if
la coloque en un nuevo codigo que hice con getrows y me da problemas
Error de Microsoft VBScript en tiempo de ejecución error '800a000d'
No coinciden los tipos: 'cliente'

/v2/control_de_precios.asp, line 125
Código:
	If len(nxtabla(cliente,i)) > 20 Then   <------ linea 125
	cliente = mid(nxtabla(cliente,i),1,20)&".."
	Else
	cliente	=	nxtabla(cliente,i)
	End If


por que da problemas, sera por que cambie al metodo de paginacion getrows.
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.

Última edición por dobled; 28/10/2004 a las 11:30
  #2 (permalink)  
Antiguo 28/10/2004, 11:41
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Si cliente no tiene valores numéricos, el lógico que te marque ese error.

recuerda que una matriz requiere de los índices de las dimensiones.

Última edición por Myakire; 28/10/2004 a las 11:43
  #3 (permalink)  
Antiguo 28/10/2004, 12:00
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 22 años, 4 meses
Puntos: 2
pero entonces como lo soluciono para cortar el texto?
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.
  #4 (permalink)  
Antiguo 28/10/2004, 12:12
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
A ver, el problema principal es pasar tu rutina de arriba a una arreglo en lugar de trabajar con el objeto Fields, ¿verdad?

Bueno, sería algo así:

...
vector=rs.GetRows
NumCampo = 0 ' La posición del campo que corresponda con "nombre_cliente"
For contador=0 to Ubound(vector,2)
nomcli = vector(NumCampo, contador)
if len(""&nomcli&"")>13 then
nomcli = mid(""&nomcli&"",1,13)&".."
end if
Next

Saludos
  #5 (permalink)  
Antiguo 28/10/2004, 13:13
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 22 años, 4 meses
Puntos: 2
Mya, no hay caso, no funciona ... se podra?
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.

Última edición por dobled; 28/10/2004 a las 13:15
  #6 (permalink)  
Antiguo 28/10/2004, 13:26
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Dejame lo hago aquí para verificar, wait me, 10 minutes, please
  #7 (permalink)  
Antiguo 28/10/2004, 14:11
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Esto ejemplo funciona como quieres:

Código:
<!-- #INCLUDE File="adovbs.inc" -->
<script runat=server LANGUAGE="VBSCRIPT">
  Dim oConn1,oRs1
  Set oConn1 = Server.CreateObject("ADODB.Connection")
  Set oRS1 = Server.createobject("ADODB.Recordset")

oConn1.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("prueba.mdb")
oRS1.Open "select top 20 * from nombres a",oConn1,adopenstatic,adcmdtext
vector = oRs1.GetRows
oRs1.Close

NumCampo = 1 ' La posición del campo que corresponda con "nombre_cliente"
For contador=0 to Ubound(vector,2)
  nomcli = vector(NumCampo, contador)
  if len(nomcli)>13 then
     nomcli = mid(nomcli,1,13)&".."
  end if
	response.write vector(NumCampo, contador) & ": " & nomcli & "<br>"
Next	
	
'	while not oRs1.EOF
'	  response.write oRs1(1)&"<br>"
'	  oRs1.MoveNext
'	Wend
</script>
Saludos
  #8 (permalink)  
Antiguo 29/10/2004, 07:44
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 22 años, 4 meses
Puntos: 2
Gracias Mya...
ahora si enkiu
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.
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 14:35.