jueves, 17 de agosto de 2017

main del perro en movimiento

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author SEDUCA
 */
public class Main {
   
     /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
       
        //crear la clase (P1) dentro del principal
       
        Perro p1=new Perro();
       
       // p1.setNombre("Sultan");
        //p1.setRaza("Pincher");
        //p1.setNivelHambre(5);
       
       
       // System.out.println(p1.getNombre());
        //System.out.println(p1.getRaza());
        //System.out.println(p1.getnivelHambre());
       
            Perro p2=new Perro("Tomy","Dogo",5);
           // System.out.println(p2);
           
            p2.alimentar(2);
            p2.alimentar(2);
            p2.alimentar(1);
        //impresiones por pantallas utilizando el toString y Override
       
       // System.out.println(p1);
       
    }
      
}

perro con objetos y sus movimientos

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author SEDUCA
 */
public class Perro {
 //atributos:
    private String nombre;
    private String raza;
    private int nivelHambre;
   
    //constructor vacio
    public Perro( ){
   
       
    }
    //constructor sobre cargado
    public Perro(String Nombre, String Raza, int nivelHambre){
        this.nombre=nombre;
        this.raza=raza;
        this.nivelHambre=nivelHambre;
    }
    //setters: //recibe unargumento y lo envia a un elemento que es this.nombre
    public void setNombre(String nombre){
        this.nombre=nombre;
    }
    public void setRaza(String raza){
        this.raza=raza;
    }
       
    public void setNivelHambre(int nivelHambre){
        this.nivelHambre=nivelHambre;
    }
   
   
    //Getters:
    public String getNombre(){
        return this.nombre;
   
    }
   
    public String getRaza(){
        return this.raza;
   
    }
   
    public int getnivelHambre(){
        return this.nivelHambre;
   
    }
   
    //sobre escritura del metodo "toString()"
  // @Override
    //public String toString(){
   
   //return "Esto es un perro -->>"+this.nombre+" "+
   ///       this.raza+" "+
      //   this.nivelHambre;
   
   
    //}
    //*************************
    public void alimentar(int porciones){
        if(this.nivelHambre==10){
            System.out.println("El perro esta lleno no se le puede alimentar");
        }else{
        if((this.nivelHambre+porciones)==10){
            System.out.println("ya se lleno");
            this.nivelHambre=this.nivelHambre+porciones;
           
        }else{
            if((this.nivelHambre+porciones)<10){
               
                System.out.println("todavia puede comer un poco mas");  
                this.nivelHambre=this.nivelHambre+porciones;
                      
            }else{
               
                System.out.println("se lleno y sobraron"+
                        (this.nivelHambre+porciones-10)+" porciones ");
                        this.nivelHambre= 10;
            }
        }
   
   
}}
}

martes, 15 de agosto de 2017

clase auto main

/* main
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package javaapplication8;

/**
 *
 * @author SEDUCA
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
       
        Auto a1=new Auto();
        System.out.println(a1);
       
        a1.setMarca("Ford");
        a1.setModelo("Focus");
        a1.setCilindrada(2000);
        a1.setVelocidad(0);
       
        System.out.println("Marca: "+ a1.getMarca());
        System.out.println("Modelo: "+ a1.getModelo());
        System.out.println("Cilindrada: "+ a1.getCilindrada());
        System.out.println("Velocidad: "+ a1.getVelocidad());
       
        System.out.println(a1);
        a1.acelerar(10);
        System.out.println(a1);
       
        Auto a2=new Auto("Volkswagen","Gol",1600,0);
        System.out.println(a2);
        a2.acelerar(100);
        System.out.println(a2);
       
       
       
    }
   
}

martes, 1 de agosto de 2017

pilas


CLASE STACK
A continuación vamos a explicar la clase Stack de
Java, que implementa la
interface List. Stack se
traduce por “pila” y para recordar su significado
podemos pensar en una pila de libros. También
veremos las características más im
portantes de esta nueva implementación y haremos un ejemplo a
modo de ejercicio.
STACK
La clase Stack es una clase de las llamadas de tipo LIFO
(Last In - First Out, o último en entrar - primero
en salir). Esta clase hereda de la clase que ya hemo
s estudiado anteriormente en el curso Vector y con 5
operaciones permite tratar un vector a modo de pila o stack.
Las operaciones básicas son
push
(que introduce un elemento en la pila),
pop
(que saca un elemento de
la pila),
peek
(consulta el primer elemento de la cima de la pila),
empty
(que comprueba si la pila está
vacía) y
search
(que busca un determinado elemento dentro de la pila y devuelve su posición dentro de
ella).
Esta clase es muy sencilla y al crear un objeto de ti
po Stack con el constructo
r básico evidentemente no
contendrá ningún elemento.
Un conjunto mucho más completo y consistente para operaciones de stack LIFO es proporcionado en la
interface Deque y sus implementaciones, pero nosotr
os de momento vamos a limitarnos al estudio de
la clase Stack.
EJEMPLO USO CLASE STACK
Realizaremos un ejemplo a modo de uso de pila. Un
o de los casos más usados en informática de una
pila es el de querer verificar si una determinada se
ntencia o instrucción está equilibrada en cuanto a
número de paréntesis, corchetes o llaves de aper
tura y cierre. Cuando se escribe código de
programación si no existe equilibrio entre signos de
apertura (por ejemplo un paréntesis de apertura) y
cierre (por ejemplo un paréntesis de cierre) ni siquiera debería procesarse la sentencia ya que no
estaría formalmente bien construida. De esto se enca
rgan los analizadores léxicos de los compiladores.
Así que vamos a utilizar esta vez tan solo una clas
e Programa con el método main, donde vamos a ir
analizando una sentencia para verificar si es equili
brada o no en símbolos de paréntesis, recorriendo
todos sus caracteres desde el
inicio hasta el final.
Iremos construyendo nuestra pila apilando un símbolo (cada vez que detectemos un símbolo de
apertura o desapilando de ella cuando detectemos un símbolo de cierre. Tendremos que ir analizando
Interface List del api java. Clas
e Stack. Ejemplos resueltos.
© aprenderaprogramar.com, 2006-2039
todos los caracteres de una expresión y actuar cuan
do detectemos un paréntesis, operando en función
de si el paréntesis leído es de abrir (“(”) o cerrar (“)”
). El equilibrio en la escritura vendrá determinado al
terminar el análisis en función de si la pila está
vacía (hay equilibrio) o contiene algún elemento (no hay
equilibrio).
Ejemplo: analizamos la expresión “Hay varios país
es (México, España) que comparten el mismo idioma
(español o castellano).”
El resultado al finalizar el análisis de la sentenci
a sería que la pila está vacía, y esto querrá decir que
nuestra sentencia es equilibrada en paréntesis y por tanto el resultado es correcto.
Si analizáramos la expresión “Hay varios países
(México, España) que comparten el mismo idioma
(español o castellano.”
El resultado al finalizar el análisis será que la p
ila contiene un paréntesis, lo que quiere decir que la
expresión no es equilibrada y no tiene el mism
o número de paréntesis abiertos que cerrados.
Tendremos que tener en cuenta casos especiales como una expresión cuyo primer elemento sea un
paréntesis de cierre. Por ejemplo: “Hay varios pa
íses )México, España(“
la consideraríamos una
expresión incorrecta ya que si la pila está vacía
el primer elemento siempre tendrá que ser un
paréntesis de apertura y no uno de cierre. Tendremos en cuenta por tanto que además de equilibrio
exista corrección en la forma de construcción (que
no puedan existir cierres de paréntesis que no se
hayan abierto).
Vamos a escribir ahora el siguiente
código con el que vamos a trabajar:
/* Ejemplo Interface List, clase Stack aprenderaprogramar.com */
import java.util.Stack;
public class
Programa
{
public static void main(String arg[]) {
String cadenano = "(Cadena no equilibrada en paréntesis(()()()))))";
String cadenasi = "(Cadena equilibrada en parentesis())";
System.out.println("Verifica
ción equilibrado en paré
ntesis para cadenano:");
System.out.p
rintln(verificaParentesis(cadenano));
System.out.println("Verifica
ción equilibrado en paré
ntesis para cadenasi:");
System.out.println(verificaParentesis(cadenasi));
}
public static boolean
verificaParentesis
(String cadena) {
Stack<String> pila = new Stack<String>(); int i = 0;
while (i<cadena.length()) {
// Recorremos la expresión carácter a carácter
if(cadena.charAt(i)=='(') {pila.push("(");}
// Si el paréntesis es de apertura apilamos siempre
else if (cadena.charAt(i)==')') {
// Si el paréntesis es de cierre actuamos según el caso
if (!pila.empty()){ pila.pop(); }
// Si la pila no está vacía desapilamos
else { pila.push(")"); break; }
// La pila no puede empezar con un cierre, apilamos y salimos
}
i++;
}
if(pila.empty()){ return true; } else { return false; }
}
}

------------------------------------------------------------------------------------------------------

http://www.aprenderaprogramar.com/attachments/article/608/CU00923C%20Estructura%20de%20datos%20pila%20clase%20stack%20api%20java%20ejemplo%20resuelto.pdf

http://lineadecodigo.com/java/crear-una-pila-en-java/


/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package javaapplication1;

import java.util.Stack;

/**
 *
 * @author SEDUCA
 */
public class JavaApplication1 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
       
        Stack<String> pilaNombres=new Stack<>();
        System.out.println(pilaNombres);
        pilaNombres.push("Jose");
        pilaNombres.push("Daniel");
        pilaNombres.push("Pedro");
        pilaNombres.push("Juan");
       
        System.out.println(pilaNombres);  //muestra todos los elementos existentesen la pila
        System.out.println(pilaNombres.size()); //muestra la cantidad de elementos
        System.out.println(pilaNombres.peek());  //muestra el ultimo elemento sin sacar
        pilaNombres.pop();
      
       System.out.println(pilaNombres);
       System.out.println(pilaNombres.size());
       System.out.println(pilaNombres.peek());
      
       System.out.println("Saco la ultima que es:"+pilaNombres.pop());
       System.out.println(pilaNombres);
       pilaNombres.push("Fernando");
       if(! pilaNombres.isEmpty()){
          System.out.println(pilaNombres.pop());
       }
      
            }
}



otro ejercicio con procedimiento



/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package ejercicio_pila_revertir;

import java.util.Stack;

/**
 *
 * @author SEDUCA
 */
public class Ejercicio_pila_revertir {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        Stack<String> pilaNombres=new Stack<>();
       
               
        System.out.println(pilaNombres);
        pilaNombres.push("Jose");
        pilaNombres.push("Daniel");
        pilaNombres.push("Pedro");
        pilaNombres.push("Juan");
       
         
         InvertirPila(pilaNombres);
      
       }
       public static void InvertirPila(Stack<String> pPila){
      
       Stack<String> pilaAux=new Stack<>();
        Stack<String> pilaAux2=new Stack<>();
        
             while (!pPila.isEmpty()){
                 pilaAux.push(pPila.pop());
                                
            }
            System.out.println(pilaAux);
           
            while (!pilaAux.empty()){
                 pilaAux2.push(pilaAux.pop());
                                
            }
           
            System.out.println(pilaAux2);
                
            while (!pPila.empty()){
                 pPila.push(pilaAux2.pop());
                                
            }
           
            System.out.println(pPila);
       
      
       }
            }

domingo, 28 de mayo de 2017

Programación por consola msdos

ColorConsole [Version 1.3.3000]
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\WINDOWS>HELP SETMuestra, establece o quita las variables de entorno de cmd.exe.

SET [variable=[cadena]]

 variable  Especifica el nombre de la variable de entorno.
 cadena    Especifica una serie de caracteres que se asignará a
la variable.

Escriba SET sin parámetros para ver las variables de entorno
actuales.

Si las extensiones de comando están habilitadas, SET cambia así:

"Cuando se llama al comando SET solamente con un nombre de
variable, sin signo
de igual ni valor, se mostrarán los valores de todas las
variables cuyos
prefijos coincidan con el nombre especificado como parámetro para
el comando
SET. Por ejemplo:

   SET P

mostrará todas las variables que empiecen con la letra 'P'

El comando SET establecerá ERRORLEVEL en 1 si no se encuentra el
nombre de la variable en el entorno actual.

El comando SET no permitirá que un signo de igual sea parte de
una variable.

Se han agregado dos modificadores nuevos al comando SET:

   SET /A expression
   SET /P variable=[promptString]

El modificador /A especifica que la cadena a la derecha del signo
de igual
es una expresión numérica que es evaluada. El evaluador de
expresiones es
bastante simple y es compatible con las siguientes operaciones,
en orden de
precedencia decreciente:

   ()                  - agrupar
   ! ~ -               - operadores unarios
   * / %              - operadores aritméticos
   + -                 - operadores aritméticos
   << >>               - desplazamiento lógico
   &                   - bit a bit y
   ^                   - bit a bit exclusivo o
   |                   - bit a bit
   = *= /= %= += -=    - asignación
     &= ^= |= <<= >>=
   ,                   - separador de expresión

Si se utiliza cualquiera de los operadores lógicos o de módulo,
será
necesario escribir la cadena entre comillas. Cualquier cadena de
la expresión
que no sea numérica, se tratará como variable de entorno cuyo
valor se
convertirá a tipo numérico antes de utilizarse. Si se especifica
una variable
que no está definida en el entorno actual, se utilizará el valor
cero. Esto permite hacer operaciones aritméticas con los valores
de variables de entorno evitando el escribir todos estos signos %
para obtener sus valores. Si se
ejecuta el comando SET /A desde la línea del comando fuera de la
secuencia de
comandos, entonces se mostrará el valor final de la expresión. El
operador
de asignación requiere un nombre de variable de entorno a la
izquierda del operador de asignación. Los valores numéricos son
números decimales, a no ser
que lleven el prefijo 0x delante para los números hexadecimales,
y 0 para los números octales. De esta manera 0x12 es lo mismo que
18, y lo mismo que 022.
Nota: la notación octal puede ser confusa: 08 y 09 no son números
válidos
porque 8 y 9 no son dígitos octales válidos.


El modificador /P permite establecer el valor de una variable
para una línea
de entrada escrita por el usuario. Muestra la cadena del símbolo
del sistema
antes de leer la línea de entrada. La cadena del símbolo del
sistema puede
estar vacía.

La sustitución de variables de entorno ha sido mejorada así:

   %PATH:str1=str2%

expandirá la variable de entorno PATH, sustituyendo cada
repetición de
"str1" en el resultado expandido con "str2". "str2" puede ser la
cadena
vacía para borrar efectivamente todas las repeticiones de "str1"
de la
salida expandida. "str1" puede empezar con un asterisco, en cuyo
caso,
coincidirá con lo contenido en la salida expandida desde su
inicio, hasta
la primera aparición del fragmento de str1 que queda.

También puede especificar subcadenas para una expansión.

   %PATH:~10,5%

expandirá la variable de entorno PATH, y usará sólo los 5
caracteres
a partir del décimo primer carácter (desplazamiento 10) del
resultado
expandido. Si la longitud no se especifica, se utilizará el resto
del
valor de la variable. Si algún número (desplazamiento o longitud)
es
negativo, entonces el número usado es la longitud del valor de la
variable
de entorno añadido al desplazamiento o longitud especificados.

   %PATH:~-10%

extraerá los 10 caracteres de la variable PATH.

   %PATH:~0,-2%

extraerá todo menos los 2 últimos caracteres de la  variable
PATH.

Finalmente, se ha añadido compatibilidad para la expansión de la
variable
retardada.
Este soporte está siempre deshabilitado de forma predeterminada,
pero puede
habilitarse o deshabilitarse a través del modificador de línea de
comandos
/V a CMD.EXE.  Ver CMD /?

La expansión de la variable de entorno es útil para tratar con
las
limitaciones de la expansión actual, las cuales ocurren cuando
una línea de
texto es leída,  y no cuando se ejecuta.  El siguiente ejemplo
demuestra el
problema con la expansión de la variable inmediata:

  set VAR=antes
  if "%VAR%" == "antes" (
      set VAR=después
      if "%VAR%" == "después" @echo Si esto se puede ver,
entonces
                       significa que funcionó
  )

dado que %VAR% se sustituye al mismo tiempo en ambas
instrucciones IF
cuando se lee la primera instrucción IF, pues incluye lógicamente
al cuerpo
del IF, el cual es una instrucción compuesta. De esta manera, IF,
dentro de
la instrucción compuesta está realmente comparando "antes" con
"después" lo cuál
nunca será igual. De un modo parecido, el siguiente ejemplo no
funcionará
como se espera:

   set LIST=
   for %i in (*) do set LIST=%LIST% %i
   echo %LIST%

en esto NO generará una lista de archivos en el directorio
actual, pero en
su lugar establecerá la variable LIST en el último archivo
encontrado. De
nuevo, esto ocurre porque %LIST% es expandido sólo una vez cuando
la
opción FOR es leída, y en ese momento la variable LIST variable
está vacía.
Así el ciclo actual FOR que se está ejecutando es:

   for %i in (*) do set LIST= %i

el cual sólo mantiene el valor LIST hasta el último archivo
encontrado.

La expansión de la variable de entorno retardada permite utilizar
un
carácter diferente (el signo de exclamación para expandir
variables en
tiempo de ejecución.  Si la expansión de la variable retardada
está
habilitada, los ejemplos se pueden escribir de la siguiente
manera para
que funcionen como es necesario:

   set VAR=antes
   if "%VAR%" == "antes" (
       set VAR=después
       if "!VAR!" == "después" @echo Si esto se puede ver,
entonces
                      significa que funcionó
   )

   set LIST=
   for %i en (*) do set LIST=!LIST! %i
   echo %LIST%

Si las extensiones de comando están habilitadas, hay varias
variables
dinámicas de entorno que pueden ser expandidas pero que no se
muestran en la lista de variables que muestra ESTABLECER. Estos
valores de
variable se calculan dinámicamente cada vez que el valor de la
variable se expande.
Si el usuario define una variable explícitamente con uno de estos
nombres,
entonces esa definición suplantará la variable dinámica abajo
descrita:

%CD% - se expande a la cadena del directorio actual .

%DATE% - se expande a la fecha actual usando el mismo formato que
el
   comando DATE.

%TIME% - se expande a la hora actual usando el mismo formato que
el
   comando TIME.

%RANDOM% - se expande a un número decimal aleatorio entre 0 y
32767.

%ERRORLEVEL% - se expande al valor de NIVEL DE ERROR actual

%CMDEXTVERSION% - se expande al número actual de versión de las
   extensiones del comando del procesador.

%CMDCMDLINE% - se expande a la línea de comando original que
invocó
   el Procesador de comandos.



C:\WINDOWS>HELP SETLOCALComienza la sección de cambios locales de entorno en
un archivo por lotes.  Los cambios de entorno
hechos después de que se haya emitido SETLOCAL son
locales en el archivo por lotes.
ENDLOCAL debe ser emitido para restaurar la
configuración anterior.  Cuando se llega al final de
un archivo de secuencias de comandos por lotes, se
ejecuta un ENDLOCAL implícito para cualquier comando SETLOCAL
pendiente que se haya emitido para este
archivo de secuencias de comandos por lotes.

SETLOCAL

Si las extensiones de comandos están habilitadas SETLOCAL cambia
así:

Ahora el comando del archivo por lotes SETLOCAL acepta argumentos
opcionales:
       ENABLEEXTENSIONS / DISABLEEXTENSIONS
Habilitar o deshabilitar las extensiones del procesador de
comandos.
Ver CMD /? para más detalles
ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION
           Habilita o deshabilita la expansión de la variable de
entorno retardada. Ver SET /? para más detalles. Estas
modificaciones duran hasta que coincida el comando ENDLOCAL,
independientemente de su configuración anterior
para el comando SETLOCAL.

El comando SETLOCAL establecerá el valor ERRORLEVEL si se diera
un argumento.
Será cero si se da uno de los dos argumentos válidos y el otro
no.
Puede usar esto en los archivos de proceso por lotes para
determinar si las extensiones están disponibles usando la
siguiente técnica:

   VERIFY OTHER 2>null
   SETLOCAL ENABLEEXTENSIONS
   IF ERRORLEVEL 1 echo No puede activar las extensiones

Esto funciona porque en las versiones anteriores de CMD.EXE,
SETLOCAL no establecía el valor de ERRORLEVEL. El comando VERIFY
con un argumento
erróneo inicializa el valor  ERRORLEVEL a un valor distinto de
cero.




C:\WINDOWS>HELP SHIFTCambia la posición de parámetros reemplazables en un archivo por
lotes.

SHIFT [/n]

Si las extensiones de comando están habilitadas, el comando SHIFT
admitirá el modificador /n, el cual informa al comando que
empiece a
cambiar en el argumento n, en donde n puede estar comprendido
entre 0 y 8.
Por ejemplo:

   SHIFT /2

cambiará %3 a %2, %4 a %3, etc. y deja %0 y %1 sin modificar.

VBA access, criterios de consulta

Msgbox para access 2010
Dim response As MsgBoxResult
msg = "Do you want to continue?"   ' Define message.
style = MsgBoxStyle.DefaultButton2 Or _
   MsgBoxStyle.Critical Or MsgBoxStyle.YesNo
title = "MsgBox Demonstration"   ' Define title.
' Display message.
response = MsgBox(msg, style, title)
If response = MsgBoxResult.Yes Then   ' User chose Yes.
   ' Perform some action.
Else
   ' Perform some other action.
End If

conocer el boton pulsado en vb , msgebox()
Private Sub Comando26_Click()
resultado = MsgBox("Es otro cliente", vbYesNo + vbExclamation, "Es otro")


If resultado = 6 Then

Else
    codigoclit = Texto39
    DoCmd.RefreshRecord
End If

informacion

resultado = MsgBox("Hola Mundo", vbAbortRetryIgnore + vbQuestion, "Mensaje especial")
Antes de continuar debo mencionar algo importante sobre esta instrucción ya que, a diferencia de las anteriores, en esta ocasión los argumentos de la función MsgBox están encerrados en paréntesis. Esto se debe a una regla de programación en VBA la cual indica que cuando se llama a una función que devolverá un valor el cual será asignado a una variable, su lista de argumentos deberá estar rodeada por paréntesis. Así que no podemos olvidar colocar los paréntesis si queremos conocer el botón pulsado por el usuario.
Ahora bien, la variable resultado guardará el valor devuelto por la función MsgBox el cual puede ser cualquiera de las siguientes opciones dependiendo los botones que hayamos decidido mostrar:
Mostrar un mensaje en Excel desde VBA con la función MsgBox
https://support.office.com/es-es/article/Ejemplos-de-criterios-de-consulta-3197228c-8684-4552-ac03-aba746fb29d8
////////////////////////////////////////////////////////

Buscar un campo de un registro con DLookup


buscar con dlookupCon la función DLookup podemos buscar un campo de un registro determinado en una tabla específica en Microsoft Access.
Con la función DLookup podemos buscar un campo de un registro determinado en una tabla específica en Microsoft Access, con ésta función nos ahorramos usar engorrosos recordset y de una forma sencilla y eficaz podemos buscar registros.
Su uso en VBA es el siguiente: DLookup("Nombre_Campo", "Nombre_Tabla", "Criterio_de_búsqueda")
Ejemplos Buscar un campo numérico de un registro usando como criterio el dato de un cuadro de texto de un formulario, en éste caso buscamos el codigo de un cliente que coincida con el código de un cuadro de texto puesto en un formulario:
DLookup("CodigoCliente", "TablaClientes", "CodigoCliente = " & Me.CodigoCliente)
Buscar un campo de texto de un registro usando como criterio el dato de un cuadro de texto de un formulario, en éste caso buscamos la dirección de un cliente a partir del nombre del cliente que tenemos en un formulario:
DLookup("DireccionCliente", "NumeradoresSeries", "TxtSerie = '" & Me.NombreCliente & "'")
Observar que las comillas varían dependiendo de si buscamos un campo numérico o de texto. Si el resultado son mas de un registro, se mostrará el primero que coincida con el criterio, de igual manera si no usamos ningún criterio, nos mostrará el primer campo de la tabla seleccionada.
Dejamos los comentarios abiertos por si hay alguna duda.

leo dan, programacion de botones

https://www.youtube.com/watch?v=SWdtF1ll8ac
leo dan tienes que volver a mi

filtro para una consulta en access

mostrar todos los registros con el rango de fecha entre 07 de mayo y 12 de mayo
>=#07/05/2017# Y <=#12/05/2017#

motrar un rango de codigo entre A001 y A007

In("A001","A007")







DoCmd.ApplyFilter, filtros en access

DoCmd.ApplyFilter Method (Access)

Office 2013 and later
GitHub-Mark-64px
Contribute to this content
Use GitHub to suggest and submit changes. See our guidelines for contributing to VBA documentation.
The ApplyFilter method carries out the ApplyFilter action in Visual Basic.

Syntax


expression .ApplyFilter(FilterName, WhereCondition, ControlName)
expression A variable that represents a DoCmd object.

Parameters

Name
Required/Optional
Data Type
Description
FilterName
Optional
Variant
A string expression that is the valid name of a filter or query in the current database. When using this method to apply a server filter, the FilterName argument must be blank.
WhereCondition
Optional
Variant
A string expression that is a valid SQL WHERE clause without the word WHERE.
ControlName
Optional
Variant

Remarks


You can use the ApplyFilter action to apply a filter, a query, or an SQL WHERE clause to a table, form, or report to restrict or sort the records in the table, or the records from the underlying table or query of the form or report. For reports, you can use this action only in a macro specified by the report's OnOpen event property.
You can use this action to apply an SQL WHERE clause only when applying a server filter. A server filter cannot be applied to a stored procedure's record source.
Note Note
You can use the Filter Name argument if you've already defined a filter that provides the appropriate data. You can use the Where Condition argument to enter the restriction criteria directly. If you use both arguments, Microsoft Access applies the WHERE clause to the results of the filter. You must use one or both arguments.
You can apply a filter or query to a form in Form view or Datasheet view.
The filter and WHERE condition you apply become the setting of the form's Filter property or the report's ServerFilter property.
When you save a table or form, Access saves any filter currently defined in that object, but will not apply the filter automatically the next time the object is opened (although it will automatically apply any sort you applied to the object before it was saved). If you want to apply a filter automatically when a form is first opened, specify a macro containing the ApplyFilter action or an event procedure containing the ApplyFilter method of the DoCmd object as the OnOpen event property setting of the form. You can also apply a filter by using the OpenForm or OpenReport action, or their corresponding methods. To apply a filter automatically when a table is first opened, you can open the table by using a macro containing the OpenTable action, followed immediately by the ApplyFilter action.
You must include at least one of the two ApplyFilter method arguments. If you enter a value for both arguments, the WhereCondition argument is applied to the filter.
The maximum length of the WhereCondition argument is 32,768 characters (unlike the Where Condition action argument in the Macro window, whose maximum length is 256 characters).

Example


The following example uses the ApplyFilter method to display only records that contain the name "King" in the LastName field:
DoCmd.ApplyFilter , "LastName = 'King'"

The following example shows how to use the ApplyFilter property to filter the records displayed when a toggle button named tglFilter is clicked.
Sample code provided by:Bill Jelen, MrExcel.com
Private Sub tglFilter_Click()
    With tglFilter
        If .Value = True Then
            .Caption = "P/T"
            .StatusBarText = "only full-timers"
            DoCmd.ApplyFilter , "[Hours]=40"
        ElseIf .Value = False Then
            .Caption = "All"
            .StatusBarText = "only part-timers"
            DoCmd.ApplyFilter , "[Hours]<40"
        Else
            .Caption = "F/T"
            .StatusBarText = "all employees"
            DoCmd.ShowAllRecords
            .SetFocus 'to activate the button's statusbar-text
        End If
    End With
End Sub




Methods access 2010

https://msdn.microsoft.com/en-us/library/office/ff192694.aspx

filtros

DoCmd.SetFilter Method (Access)

Office 2013 and later
GitHub-Mark-64px
Contribute to this content
Use GitHub to suggest and submit changes. See our guidelines for contributing to VBA documentation.
Use the SetFilter method to apply a filter to the records in the active datasheet, form, report, or table.

Syntax


expression .SetFilter(FilterName, WhereCondition, ControlName)
expression A variable that represents a DoCmd object.

Parameters

Name
Required/Optional
Data Type
Description
FilterName
Optional
Variant
If provided, the name of a query or of a filter saved as a query. This argument or the WhereCondition argument is required.
WhereCondition
Optional
Variant
If provided, a SQL WHERE clause that restricts the records in the datasheet, form, report, or table.
ControlName
Optional
Variant
If provided, the name of the control that corresponds to the subform or subreport to be filtered. If empty, the current object is filtered.

Remarks


When you run this method, the filter is applied to the table, form, report or datasheet (for example, query result) that is active and has the focus.
The Filter property of the active object is used to save the WhereCondition argument and apply it at a later time. Filters are saved with the objects in which they are created. They are automatically loaded when the object is opened, but they are not automatically applied.
To automatically apply a filter when the object is opened, set the FilterOnLoad property to True.

Example


The following code example filters the active object so that it displays only records that begin with "NWTB".
DoCmd.SetFilter WhereCondition:="[Product Code] Like ""NWTB*"""

Los mail de oulook no se pueden reenviar.

 cuando en el asunto poseen un caracter especial por ejemplo @#$ los correos no salen y no te muestra ningun correo de rebote, especialmente...