¿Coómo puedo aumentar el numero de indices en mi tabla o de select?

Me gustaría saber como puedo aumentar el numero de indices en mi tabla o de select por que me sale un mensaje de que tengo que disminuir el numero de indices.
La otra pregunta es como puedo hacer que en mi formulario cuando un usuario escoja de un cuadro de lista una opción le aparezca el significado de esa opción.
Ejemplo
Si en cuadro combinado hay una letra p
Salga un aviso que indique particular es como para guiar al operador
gracias por todo
3

3 respuestas

Respuesta
1
No sé porqué quieres aumentar los índices si el propio Access te está diciendo que debes quitar indices.. Microsoft Access soporta hasta diez índices por tabla... Los índices sirven como indica su propio nombre formas de indexar una tabla... esto significa.. ordenar datos según un campo determinado... pero también es cierto que a más indicies más lenta puede llegar a ser la consulta a la tabla...
Abre la tabla en cuestión en formato diseño.. En la barra de menús.. Ver ... Indices..
Elimina aquellos índices que no necesites.. generalmente si por ejemplo se trata de la tabla de clientes.. con que tengas el índice en la clave primaria (que es obligatoria) y en el código sería suficiente..
En cuanto al formulario:
No me dices si los valores que se muestran están en una tabla o no... supongo que si.
En este caso.. se supone que en la tabla has indicado un segundo campo donde especificas el significado de la opción a mostrar al usuario.. si no es así.. crea este nuevo campo.. En el cuadro de lista le indicas que busque los valores en la tabla con todos sus campos, es decir.. simplemente le pones el nombre de la tabla... Le indicas que el número de columnas es 2 y el ancho de columnas es : "2;0" textualmente y sin las comillas (suponiendo que en la tabla hay dos campos.. el código que selecciona el usuario y la descripción) Esto hará que únicamente muestre el valor del código... en el evento DespuesDeActualizar del cuadro de lista indica el siguiente código:
If not IsNull(NombreLista) then
msgbox "Opción seleccionada : " & NombreLista.Column(1)
End if
Ten en cuenta que las columnas se empiezan a contar a partir de cero... así Column(1) se refiere a la segunda columna, aunque esté oculta..
También es necesario que le indiques al cuadro de lista en la propiedad SelecciónMultiple el valor Ninguna...
Saludos
Jordi Pérez i Madern
Mataró (Barcelona)
Respuesta
1
Las especificaciones de access 2000 indican un número máximo de índices en una tabla de 32, así mismo recomienda limitar el uso de los mismos, ya que si un indice puede aumentar el rendimiento de una consulta en un segundo, es posible que el añadir un registro nuevo nos cueste 2 segundos. Del mismo modo, el número máximo de campos en una tabla son 255, así pues, es extraño que necesites usar ese máximo de indices. A pesar de todo, puedes considerar la opción de convertir a SQL server.
Para la segunda cuestión puedes usar la notación para columna y colocar el valor en un cuadro de texto. Imaginemos que el cuadro lista te muestra datos de tus clientes usando 5 columnas en la fila, que corresponden a 5 campos: Company, City, State, Credit limit y Customer number, y que queremos tener a la vista el Credit limit para ese cliente, solo tienes que poner en el Origen del control de un cuadro de texto independiente =[Select a Customer].[Column](3)
Donde Select a Customer es nuestro cuadro de lista y (3) es el indice de la columna en la consulta base del cuadro lista.
Si no son muchas las condiciones que tienes que presentar también puedes hacer lo siguiente:
- Añade una etiqueta que se llame MensajeEtiqueta al formulario
- Pega el siguiente código en el evento Al hacer click del cuadro lista:
Private Sub Lista1_Click()
With Lista1
If .Column(2) = "p" Then
Me!MensajeEtiqueta.Caption = "Particular"
Else
Me!MensajeEtiqueta.Caption = ""
End If
End With
End Sub
Respuesta
1
La primera pregunta no me queda del todo clara, o al menos a mí, no me ha ocurrido nunca.
En el segundo caso puedes agregas un cuadro de texto en cuyo origen del registro utilices la propiedad Column() del cuadro combinado. De esta manera, si en el cuadro combinado tienes la descripción que deseas mostrar después de elegir una opción, podrás mostrar en ese campo el contenido de la columna correspondiente. Te recomiendo que veas la ayuda de esa propiedad ya que hay varios detalles a tener en cuenta que sería largo de explicar y que allí se abordan claramente.
Suerte

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas