Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: lucius en Diciembre 08, 2012, 07:26:08 pm
-
Bueno anteriormente cree un tema similar que se fue por otro lado por eso creo otro nuevo, bueno lo que quiero es lo sigte. y este es mi codigo
Public Sub TablaTemp()
rsTemp.CursorType = adOpenStatic
rsTemp.Fields.Append "codprod", adVarChar, 10, adFldIsNullable
rsTemp.Fields.Append "nomprod", adVarChar, 250, adFldIsNullable
rsTemp.Open
Set DataGrid1.DataSource = rsTemp
End Sub
Private Sub Form_Load()
Call TablaTemp
End Sub
Private Sub Command1_Click()
'Cada vez que se preciona el boton se ingresa un grupo de registros
'pueden ser los mismo o un random, olvidense del "do while" para este ejemplo no tiene importancia pero por si las moscas lo coloco
'Do..
rsTemp.AddNew
rsTemp.Fields(0) = Trim(Text2)
rsTemp.Fields(1) = Trim(Text3)
rsTemp.Update
'Loop While...
End Sub
El problema esta en que cada vez que preciono el boton la data anterior se mantiene en el grid, mejor dicho necesitaria aplicar un List1.clear por decirlo de alguna manera y asi limpiar los valores anteriores del grid, se entiende?
Se me olvidaba no estoy trabajando como una BD todo es en memoria como si fuera un List1.
Habia pensado utilizar algo como esto,pero creo que debe haber otra alternativa y no el guerrazo que estoy haciendo de recorre y borra.
While Not .EOF
.Delete
.MoveNext
Wend
-
y si capturas el ID del item ingresado y haces una busqueda si lo encuentra entonces se va a posicionar en un cursor, luego lo eliminas
With rsDetalleDocumentoCompra
.Find "ProductoID='" + sProductoID + "'", 0, 1, 1 'Aqui es donde se va a posicionar el cursor
.Delete 'Aqui va eliminar la posicion del cursor actual
End With
-
o quieres eliminar desde un indice hasta abajo?
ejemplo
Posicion Codigo Descripcion
1 - "P01" - "lba bla"
2 - "P05" - "lba bla"
3 - "P08" - "lba bla"
4 - "P07" - "lba bla"
5 - "P06" - "lba bla"
6 - "P04" - "lba bla"
7 - "P03" - "lba bla"
8 - "P09" - "lba bla"
9 - "P10" - "lba bla"
10 - "P02" - "lba bla"
y si estas enfocado en la fila 7 del Grid
y quieres eliminar el 7,8,9 y 10
Podrias usar la funcion que te mencione arriba
dim sProductoID as string, iPosicionFila as integer 'para recuperar la fila
iPosicionFila=7 'Esto lo puedes recuperar con unas de las propiedades de la grilla
'no se si funcionara pero esa es mi idea
for i=iPosicionFila to rsDetalleDocumentoCompra.RecordCount
sProductoID="P03" 'Esto lo puedes recuperar con unas de las propiedades de la grilla
With rsDetalleDocumentoCompra
.Find "ProductoID='" + sProductoID + "'", 0, 1, 1 'Aqui es donde se va a posicionar el cursor
.Delete 'Aqui va eliminar la posicion del cursor actual
.movenext 'no lo e probado pero creo que avanzaria hasta el final y asi se
'podria liminar
End With
next i
-
hola k_rlitos y para borrar todo como haria.
-
has probado
eliminar el objeto contenedor de datos??
set rsDetalle=nothing??
-
Si tienes razon se me paso hacer eso jeje :-[, gracias por la ayuda, saludos