Questione : Fare una selezione basata sull'età calcolata a partire dalla data di nascita

Ciao gli esperti, il

I hanno una tabella chiamata “la gente„ nella mia base di dati di MySQL che ha un campo chiamato “data di nascita„ che le proprietà per questo campo sono “Vchar„ e la disposizione è il dateformat europeo dd-millimetro-yyyy (o 23-05-1964).

In la mia interfaccia del PHP vorrei dare all'utente due scatole di selezione in cui può selezionare le due età che si allontanano da 6 - 16 jears vecchi e sopra presentare la domanda dovrebbe mostrare che soltanto la gente che abbina quel condition.

Can questo be è fatta?  E come dovrei fare questo che? la funzionalità del

The è per un'interfaccia che permette di selezionare i membri della gioventù basati su theire per invecchiarli ed entrare in un team.

Thanks, il

class= del

Risposta : Fare una selezione basata sull'età calcolata a partire dalla data di nascita

Supponendo che tutti i campi che l'utente potrebbe scegliere da ciascuna di queste tabelle sono testo, prova:

strApply = “[„ & strField & “] = """ & strFilter & """"

Se tutti campi che potrebbero essere selezionati non sono testo, quindi state andando dovere calcolare fuori un senso determinare il datatype del campo prima della generazione strApply.  Potreste usare una funzione come quanto segue:

Funzione pubblica FieldType (TableName come stringa, Fieldname come stringa) come numero intero

    strSQL fioco come stringa
    Rs fiochi come DAO.Recordset
   
    lo strSQL = “SELEZIONA [„ & Fieldname & “] A PARTIRE [„ & TableName & “] DOVE falso„
    lo strSQL = sostituisce (sostituire (strSQL, “[[„, “["), “]]„, “] ")
   
    Regolare i rs = CurrentDb.OpenRecordset (strSQL, dbfailonerror)
   
    FieldType = rs. Campi (0). Tipo
    rs. Fine
    Regolare i rs = niente
   
Concludere la funzione

Ed allora fare qualcosa come:

intFieldType = FieldType (strReport, strField)
SELEZIONARE il intFieldType di caso
    Mettere il dbBigInt, dbBoolean, il dbByte, il cbCurrency, dbDecimal, dbDouble, il dbFload, il dbInteger, dbLong, dbNumeric
        strApply = “[„ & strField & “] =„ & strFilter
    Caso dbChar, cbText, dbMemo
        strApply = “[„ & strField & “] = """ & strFilter & """"
    dbDate di caso, dbTime
        strApply = “[„ & strField & “] = #„ & strFilter & “#„
    Caso altrimenti
        msgbox “tipo di dati inatteso =„ & intFieldType
        'Questo dovrebbe comprendere tutti i valori
        strApply = ""
Estremità prescelta

me.subReport.Report.Filter = strApply
me.subReport.Report.FilterOn = (strApply <> "")
Altre soluzioni  
 
programming4us programming4us