FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
DataField clave primaria doble
Hola
Necesito encontrar en una tabla un valor, el problema es q esta tabla es una relacion n:m, es decir, la clave primaria la forman 2 campos, entonces no soi capaz de encontrarla. Hago lo siguiente: BuscarDatos(tabla,"IDPROGRAMA;IDENTRENO",MD->qIBInforme1->FieldValues["IDPROGRAMA;IDENTRENO"]); void BuscarDatos(TIBTable *tabla, const AnsiString &campo, const AnsiString &dato){ // Limpiamos las opciones de búsqueda TLocateOptions().Clear(); // Situamos el puntero sobre la fila adecuada tabla->Locate(campo,dato,TLocateOptions()); } pero el FieldValues creo q solo es para buscar un valor concreto, no dos registros. Entonces no se que usar. Muchas gracias Un saludo |
#2
|
||||
|
||||
Hola franfl,
Primero, trate de evitar FieldValues para evaluar un campo de un DataSet; mejor use algo como: Código:
MiTabla->FieldByName("CampoX")->As...TipoDeDato Código:
MiTabla1->Locate("Campo1;Campo2", VarArrayOf(MiTabla2->FieldByName("CampoA")->AsVariant, MiTabla2->FieldByName("CampoB")->AsVariant), TLocateOptions()); "constructive mind, destructive thoughts" |
#3
|
|||
|
|||
Hola
Estoy haciendo un proyecto bastante grande y ahora no me compila otra parte por otros errores,pero entre hoy y mañana los arreglo, hago lo que me dijiste y ya te comento Muchisimas gracias Topx Un saludo |
#4
|
|||
|
|||
Despues de mucho tiempo ya soluciones los otros errores, y por desgracia esto tambien me casca:
Yo tengo dos enteros que forman la clave primaria entonces hago: VarArrayOf(ent, ejer); //Que ya da error pq tiene q ser const variant y no se como hacerlo tabla->Locate("IDENTRENO;IDEJERCICIO", VarArrayOf(ent, ejer); ,TLocateOptions()); Muchas gracias |
#5
|
|||
|
|||
Hola
Ya lo solucione, lo que hago es: Variant V[2]; // la creo con 2 posiciones V[0] = ent; V[1] = ejer; tabla->Locate("IDENTRENO;IDEJERCICIO", VarArrayOf(V,1) ,TLocateOptions()); Es decir el VarArrayOf tiene como parametros el dato Variant, y hasta que posicion cojo. Muchas gracias y a ver si sirve para otros con dudas. Un saludo |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Autoincrement de acuerdo a la clave primaria | lucasarts_18 | MySQL | 0 | 19-03-2008 15:40:36 |
Ayuda Con Clave Primaria | pablo2244 | MySQL | 4 | 30-05-2005 22:49:01 |
cambiar la clave primaria con SQL | User_Baja_2 | SQL | 8 | 18-06-2004 09:41:31 |
Cambiar clave primaria | pinoxito | Firebird e Interbase | 7 | 13-01-2004 22:51:26 |
cambiar una clave primaria | User_Baja_2 | SQL | 3 | 06-10-2003 19:03:38 |
|