Puede usar la función StrComp()
con vbBinaryCompare
para una comparación de mayúsculas y minúsculas. Aquí hay un ejemplo de la ventana Inmediato para mostrar cómo funciona StrComp()
. Consulte el tema de Ayuda de acceso para obtener más detalles.
? StrComp("a", "A", vbBinaryCompare)
1
? StrComp("a", "A",vbTextCompare)
0
StrComp()
devuelve 0 si los dos primeros argumentos evalúan como iguales, 1 o -1 si son desiguales, y NULL si el argumento es nulo.
Para usar la función en una consulta, proporcione el valor de la constante vbBinaryCompare
(0) en lugar de su nombre.
SELECT VCode
FROM VirtualMaster
WHERE StrComp(VirtualMonitorName, "Vm1", 0) = 0;
Este enfoque también está disponible para consultas de otras aplicaciones si utilizan el nuevo motor de base de datos Access controladores ("ACE"). Por ejemplo, el siguiente código C#
string myConnectionString =
@"Driver={Microsoft Access Driver (*.mdb, *.accdb)};" +
@"Dbq=C:\Users\Public\Database1.accdb;";
using (OdbcConnection con = new OdbcConnection(myConnectionString))
{
con.Open();
using (var cmd = new OdbcCommand())
{
cmd.Connection = con;
cmd.CommandText =
"SELECT COUNT(*) AS n FROM [VirtualMaster] " +
"WHERE StrComp([VirtualMonitorName],?,?) = 0";
cmd.Parameters.AddWithValue("?", "Vm1");
cmd.Parameters.Add("?", OdbcType.Int);
var vbCompareOptions = new Dictionary<string, int>()
{
{"vbBinaryCompare", 0},
{"vbTextCompare", 1}
};
string currentOption = "";
currentOption = "vbBinaryCompare";
cmd.Parameters[1].Value = vbCompareOptions[currentOption];
Console.WriteLine(
"{0} found {1} record(s)",
currentOption,
Convert.ToInt32(cmd.ExecuteScalar()));
currentOption = "vbTextCompare";
cmd.Parameters[1].Value = vbCompareOptions[currentOption];
Console.WriteLine(
"{0} found {1} record(s)",
currentOption,
Convert.ToInt32(cmd.ExecuteScalar()));
}
}
produce
vbBinaryCompare found 1 record(s)
vbTextCompare found 2 record(s)
hola Podría ayudar si su código utiliza el código de ejemplo preguntas. Puede hacer que sea más fácil para el solicitante aplicar su solución. –