Visual Basic - Problemas al borrar del recordset

Life is soft - evento anual de software empresarial
 
Vista:

Problemas al borrar del recordset

Publicado por Jose (2 intervenciones) el 05/11/2003 19:48:49
Hola, tengo un problema a ver si alguien me echa un cable.

Abro un recordset asi:
rs.Open q, conexion, , adLockOptimistic, adCmdText
donde q="select * from tabla" (El recordset esta asociado a un datagrid para ver todas las columnas)
Tengo un boton que borra un registro (rs.delete) y funciona bien.

El problema es que cuando hago q="select tabla.*, otratrabla.nombre from tabla,otratabla where tabla.dni=otratabla.dni"
es decir, ademas de toda la tabla principal (tiene un campo dni) muestro el nombre asignado al dni en la otra tabla.

Pues bien si cambio la query por esta al borrar me dice:
"Informacion de columna clave insuficiente para realizar la operacion Update o Refresh"

Existe una forma directa para hacer esto o tendria que tener 2 recordset
uno con la tabla que si me deja borrar y otro que muestra toda la informacion.

Gracias
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
sin imagen de perfil
Val: 109
Ha aumentado 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:Problemas al borrar del recordset

Publicado por Yamil Bracho (226 intervenciones) el 05/11/2003 20:13:15
Lo que te esta diciendo es que por la combinacion que hiciste no tienes unicidad en el recordset, es decir, no se puede identificar la fila. Las filas son indentificadas por su campo clave asi que revisa la combinacion de las dos tablas para ver si los campos que estan usando son clave y ademas deben ser primary keys
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:Problemas al borrar del recordset

Publicado por Jose (2 intervenciones) el 06/11/2003 11:03:31
Las dos tablas son:
Factura= {codfactura,dni,....} clave={codfactura}
cliente={dni, nombre,...} clave={dni}

la select es: "select factura.*,cliente.nombre from factura,cliente where factura.dni=cliente.dni"
Lo unico que quiero es que ademas de mostrar todos los datos de la factura añada el nombre del cliente que esta en otra tabla. No entiendo o no se como decir que la clave es factura.codfactura

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
Val: 109
Ha aumentado 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:Problemas al borrar del recordset

Publicado por Yamil Bracho (226 intervenciones) el 06/11/2003 15:17:07
Si definiste el cofactura como clave primaria en la tabla, perfecto. Ahora si estas mostrando un join no puedes actualizar una de las tabals directamente sino que debes hacerlo por codigo...
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