Ver Mensaje Individual
  #11 (permalink)  
Antiguo 13/08/2008, 17:04
Avatar de ciisteado
ciisteado
 
Fecha de Ingreso: enero-2008
Ubicación: Home Office
Mensajes: 111
Antigüedad: 17 años, 3 meses
Puntos: 0
De acuerdo Respuesta: Problema al unir dos arreglos...

Hola:

Pues un verdadero placer que todos los Master's esten participando en este tema... y bueno, probe la variante de u_goldman y marca el siguiente error:
Cita:
Tipo de error:
ADODB.Recordset (0x800A0BB9)
Argumentos incorrectos, fuera del intervalo permitido o en conflicto con otros.
/xxxxxx/prueba5.asp, línea 30
La linea 30 es: .Filter = tmp , ya probe tambien quitando esta linea pero solo me muestra todo el Arreglo2...no sé que falta o que sobra

Y bueno, en base a la solución de Al Zuwaga me atrevi a comentar su código, aqui lo pongo a continuación:

Código HTML:
<%
	CONST adInteger = 3	'Define los valores para las variables que utilizará el recordset para manipular los datos
	CONST adOpenDynamic = 2
	CONST adUseClient = 3
	CONST adFldIsNullable = &H00000020

	Arreglo1=Array(9,4,8)
	Arreglo2=Array(1,9,4,7,2,6,3,5,8)
	
	Set rs = Server.CreateObject("ADODB.Recordset")
	With rs
		.CursorLocation = adUseClient	'Define tipos de cursor que utilizará el recordset
		.CursorType = adOpenDynamic	'El "rs" se recorrera en cualquier sentido, posibilitando ver cualquier insert,update o delete de datos en "rs"
		.Fields.Append "elemento", adInteger, 255, adFldIsNullable 'El formato que tendrán los datos que aceptará el recordset
		.open
		
		for i = 0 to UBound(Arreglo2) 'Recorre el Arreglo2 e inserta los datos en el recordset
			.AddNew
			.Fields("elemento") = Arreglo2(i)
			.update
		next
	
		tmp = ""
		For j = 0 to UBound(Arreglo1) 'Recorre el Arreglo 1
			tmp = tmp & " elemento <> " & Arreglo1(j) & " AND " 'Arma la validación en base a los elementos del Arreglo1
		Next

		tmp = Left(tmp, len(tmp) - 5) 'Esto es simplemente para quitar el ultimo "AND" de la validación anterior
		.Filter = tmp 'Filtra los datos del recordset de acuerdo a la validación anterior, para este ejemplo quedaría: "elemento <> 9 AND elemento <> 4 AND elemento <> 8"  elemento es cada uno de los valores de Arreglo2
		.MoveFirst
		do while not .eof ' Y por ultimo imprime los elementos que hayan superado el filtro
			response.write rs("elemento") & "<br>"
		.Movenext
		loop
		.close
	End With
	Set rs = nothing
%> 
Ahora solo espero no estar tan lejos de la realidad en cuanto a los comentarios que puse y que esto sirva para los novatos como yo...

Por hoy no me resta mas que agradecer y agradecer a todos los que participaron en este tema...vaya que puede mejorarse cualquier código...

Gracias Maestros... mis respetos

Saludos a todos....