Dataset y otras cosas

12/10/2005 - 08:39 por Super | Informe spam
Hola a todos y gracias de antemano

Esto lo he preguntado varias veces e incluso he buscado información al
respecto y no acabo de encontrar una forma en que pueda hacer lo siguiente:

lleno una tabla de comprobantes desde una grid, que cargo con un dataset de
la tabla detalle_comprobante

Public Sub GuardaDetalle()
If dsDetCompro.HasChanges Then

sdaDetCompro.Update(dsDetCompro, "Detalle_Comprobante")

End If

End Sub

esto está perfecto, solo que además de guardar en esta tabla, quisiera
guardar en otra lo que va acumulando cada cuenta por meses en la medida que
agrego comprobantes y cuanto va acumulando de forma general en el transcurso
del año, llevo rato buscando como hacerlo y tal vez esté buscando una
solución que no sea posible, pues busco si es posible hacer esto con los
datasets, si alguno de ustedes se le ocurriese una idea, tuviese una trozo
de codigo de ejemplo, una dirreción donde buscar algo semejante, cualquier
cosa será de mucho agrado, pues para concluir lo que estoy haciendo esto es
un requisito muy importante.

he pensado hacerlo con un insert despues de tener llena la tabla de detalle,
pero tampoco se me ocurre como.

Muchas gracias por el tiempo dedicado y en espera de alguna ayuda.

Saludos

Preguntas similare

Leer las respuestas

#1 Victor
12/10/2005 - 11:58 | Informe spam
Hola Super:

La pregunta sería donde guardas esta información, si la guardas en un ACCESS
o en un SQL seguramente te salga más a cuenta hacer una simple consulta para
tu propósito y dejar este código como está, si es en otro formato de base de
datos también te lo tendrías que plantear.

Si decides mejor guardarlo en otra tabla, si usas SQL te puedes plantear
utilizar un TRIGGER.

También puedes hacerlo por código buscando las inserciones antes de grabar
para alimentar la otra tabla, que sería parecido a esto:

Public Sub GuardaDetalle()
If dsDetCompro.HasChanges Then

' Aquí averiguamos que elementos se han insertado.
For Each row As DataSetCompro.Detalle_ComprobanteRow In
sdaDetCompro.Detalle_Comprobante.Select("", "", DataViewRowState.Added)
' Aquí pones el código necesario para alimentar la otra tabla.
Next

sdaDetCompro.Update(dsDetCompro, "Detalle_Comprobante")

End If
End Sub

Espero que te solucione le problema.

"Super" escribió en el mensaje
news:
Hola a todos y gracias de antemano

Esto lo he preguntado varias veces e incluso he buscado información al
respecto y no acabo de encontrar una forma en que pueda hacer lo


siguiente:

lleno una tabla de comprobantes desde una grid, que cargo con un dataset


de
la tabla detalle_comprobante

Public Sub GuardaDetalle()
If dsDetCompro.HasChanges Then

sdaDetCompro.Update(dsDetCompro, "Detalle_Comprobante")

End If

End Sub

esto está perfecto, solo que además de guardar en esta tabla, quisiera
guardar en otra lo que va acumulando cada cuenta por meses en la medida


que
agrego comprobantes y cuanto va acumulando de forma general en el


transcurso
del año, llevo rato buscando como hacerlo y tal vez esté buscando una
solución que no sea posible, pues busco si es posible hacer esto con los
datasets, si alguno de ustedes se le ocurriese una idea, tuviese una trozo
de codigo de ejemplo, una dirreción donde buscar algo semejante, cualquier
cosa será de mucho agrado, pues para concluir lo que estoy haciendo esto


es
un requisito muy importante.

he pensado hacerlo con un insert despues de tener llena la tabla de


detalle,
pero tampoco se me ocurre como.

Muchas gracias por el tiempo dedicado y en espera de alguna ayuda.

Saludos


Respuesta Responder a este mensaje
#2 Super
12/10/2005 - 19:56 | Informe spam
Muy agradecido por su pronta atención, lo que precisamente no se es como
agregar estos datos a otra tabla, es esa precisamente mi duda, ah, por
cierto utilizo SQL Server, había oido hablar de los trigger, pero no se como
funcionan o como se genera uno.

Nuevamente mi gratitud por su atención

"Victor" escribió en el mensaje
news:%
Hola Super:

La pregunta sería donde guardas esta información, si la guardas en un
ACCESS
o en un SQL seguramente te salga más a cuenta hacer una simple consulta
para
tu propósito y dejar este código como está, si es en otro formato de base
de
datos también te lo tendrías que plantear.

Si decides mejor guardarlo en otra tabla, si usas SQL te puedes plantear
utilizar un TRIGGER.

También puedes hacerlo por código buscando las inserciones antes de grabar
para alimentar la otra tabla, que sería parecido a esto:

Public Sub GuardaDetalle()
If dsDetCompro.HasChanges Then

' Aquí averiguamos que elementos se han insertado.
For Each row As DataSetCompro.Detalle_ComprobanteRow In
sdaDetCompro.Detalle_Comprobante.Select("", "", DataViewRowState.Added)
' Aquí pones el código necesario para alimentar la otra tabla.
Next

sdaDetCompro.Update(dsDetCompro, "Detalle_Comprobante")

End If
End Sub

Espero que te solucione le problema.

"Super" escribió en el mensaje
news:
Hola a todos y gracias de antemano

Esto lo he preguntado varias veces e incluso he buscado información al
respecto y no acabo de encontrar una forma en que pueda hacer lo


siguiente:

lleno una tabla de comprobantes desde una grid, que cargo con un dataset


de
la tabla detalle_comprobante

Public Sub GuardaDetalle()
If dsDetCompro.HasChanges Then

sdaDetCompro.Update(dsDetCompro, "Detalle_Comprobante")

End If

End Sub

esto está perfecto, solo que además de guardar en esta tabla, quisiera
guardar en otra lo que va acumulando cada cuenta por meses en la medida


que
agrego comprobantes y cuanto va acumulando de forma general en el


transcurso
del año, llevo rato buscando como hacerlo y tal vez esté buscando una
solución que no sea posible, pues busco si es posible hacer esto con los
datasets, si alguno de ustedes se le ocurriese una idea, tuviese una
trozo
de codigo de ejemplo, una dirreción donde buscar algo semejante,
cualquier
cosa será de mucho agrado, pues para concluir lo que estoy haciendo esto


es
un requisito muy importante.

he pensado hacerlo con un insert despues de tener llena la tabla de


detalle,
pero tampoco se me ocurre como.

Muchas gracias por el tiempo dedicado y en espera de alguna ayuda.

Saludos






Respuesta Responder a este mensaje
#3 Victor
13/10/2005 - 15:24 | Informe spam
Hola Super:


Utilizando SQL Server te recomiendo que dejes las cosas como las tienes y
utilices una consulta o te crees una vista ya preparada.

Si el volumen de información tienes previsto que sea muy grande la idea de
la consulta empieza a perder fuerza y habrá que plantearse recurrir a una
tabla auxiliar como parece que quieres hacer, en este caso lo mejor es hacer
un TRIGGER, en la ayuda del SQL encontrarás la información necesaria sobre
como utilizarlos, tambien acabo de encontrar este articulo que hay un
ejemplo sencillo y delata claramente la utilidad de un TRIGGER
http://www.netveloper.com/contenido...CQ&P=5 , en vez de enviar
un mail puedes utilizar la idea para realizar la insercion a la otra tabla.

La última alternativa sería insertar los datos desde el código dentro de
bucle de las inserciones, te creas el dataadapter el connection y el dataset
(te recomiendo desde el explorador de servidores arrastres la tabla al
formulario y luego generes el dataset desde el dataadapter) y la inserciones
las haces de la forma standar utilizando el metodo addrow del table en
cuestión dentro de dataset, una vez finalizado el bucle utiliza el método
update del dataadapter.

Si no lo ves claro, pásame los nombre de tablas y campos tanto origen como
destino y le doy un vistazo.

Un saludo.

"Super" escribió en el mensaje
news:
Muy agradecido por su pronta atención, lo que precisamente no se es como
agregar estos datos a otra tabla, es esa precisamente mi duda, ah, por
cierto utilizo SQL Server, había oido hablar de los trigger, pero no se


como
funcionan o como se genera uno.

Nuevamente mi gratitud por su atención

"Victor" escribió en el mensaje
news:%
> Hola Super:
>
> La pregunta sería donde guardas esta información, si la guardas en un
> ACCESS
> o en un SQL seguramente te salga más a cuenta hacer una simple consulta
> para
> tu propósito y dejar este código como está, si es en otro formato de


base
> de
> datos también te lo tendrías que plantear.
>
> Si decides mejor guardarlo en otra tabla, si usas SQL te puedes plantear
> utilizar un TRIGGER.
>
> También puedes hacerlo por código buscando las inserciones antes de


grabar
> para alimentar la otra tabla, que sería parecido a esto:
>
> Public Sub GuardaDetalle()
> If dsDetCompro.HasChanges Then
>
> ' Aquí averiguamos que elementos se han insertado.
> For Each row As DataSetCompro.Detalle_ComprobanteRow In
> sdaDetCompro.Detalle_Comprobante.Select("", "", DataViewRowState.Added)
> ' Aquí pones el código necesario para alimentar la otra tabla.
> Next
>
> sdaDetCompro.Update(dsDetCompro, "Detalle_Comprobante")
>
> End If
> End Sub
>
> Espero que te solucione le problema.
>
> "Super" escribió en el mensaje
> news:
>> Hola a todos y gracias de antemano
>>
>> Esto lo he preguntado varias veces e incluso he buscado información al
>> respecto y no acabo de encontrar una forma en que pueda hacer lo
> siguiente:
>>
>> lleno una tabla de comprobantes desde una grid, que cargo con un


dataset
> de
>> la tabla detalle_comprobante
>>
>> Public Sub GuardaDetalle()
>> If dsDetCompro.HasChanges Then
>>
>> sdaDetCompro.Update(dsDetCompro, "Detalle_Comprobante")
>>
>> End If
>>
>> End Sub
>>
>> esto está perfecto, solo que además de guardar en esta tabla, quisiera
>> guardar en otra lo que va acumulando cada cuenta por meses en la medida
> que
>> agrego comprobantes y cuanto va acumulando de forma general en el
> transcurso
>> del año, llevo rato buscando como hacerlo y tal vez esté buscando una
>> solución que no sea posible, pues busco si es posible hacer esto con


los
>> datasets, si alguno de ustedes se le ocurriese una idea, tuviese una
>> trozo
>> de codigo de ejemplo, una dirreción donde buscar algo semejante,
>> cualquier
>> cosa será de mucho agrado, pues para concluir lo que estoy haciendo


esto
> es
>> un requisito muy importante.
>>
>> he pensado hacerlo con un insert despues de tener llena la tabla de
> detalle,
>> pero tampoco se me ocurre como.
>>
>> Muchas gracias por el tiempo dedicado y en espera de alguna ayuda.
>>
>> Saludos
>>
>>
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida