MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


    Ultimo Id Mysql

    marcelo3092
    marcelo3092
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 171
    Registrado : 19/08/2010

    Ultimo Id Mysql Empty Ultimo Id Mysql

    Mensagem  marcelo3092 em 19/4/2019, 23:50

    Boa noite pessoal gostaria de vir aqui pedir mais uma vez a ajuda de vcs.
    Estou com um problema em buscar o Ultimo id do mysql, o Amigo Alexandre Neves desenvolveu um exemplo e funcionou perfeito.

    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' código criado por Alexandre Neves, do Fórum MaximoAccess '
    ' utilize o código livremente mas mantenha os créditos '
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

    Call Conexao_Open("select * from tblpedidos") 'Abre a conexão para a tabela informada

    If rs.EOF Then
    NOVOID = 1

    Else

    NOVOID = rs("Cod_Pedido") + 1
    Me.Cod_Pedido = NOVOID
    'Call Updade_MySQL("select * from tblpedidos where Cod_Pedido=" & Me.Cod_Pedido, Me.Form.Name)
    End If

    rs.Close
    cn.Close


    Porem o que acontece ele pega o ultimo registro e coloca mais 1 problema;
    1- Se o campo estiver autoincrement e por ventura o ultimo id for excluido ele pega o penultimo e coloca +1 dando erro pois aquele ja foi excluido, e para tentar resolver eu tirei o autoincrement blz.
    2- tirando o autoincrement acontece que se na tabela não estiver registro ele n coloca o 1.
    qual é a ideia ele fazer uma verificação no campo ID e trazer o valor se o campo esta vazio retornando o valor faça uma condição onde ele for verdadeiro coloca 1 no campo id do formulario sendo faço dispara a condição depois do else pois nessa função ta la o novoid=1 mais não adiciona.

    alguem pode da uma maozinha
    marcos_novack
    marcos_novack
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 64
    Registrado : 19/01/2011

    Ultimo Id Mysql Empty Re: Ultimo Id Mysql

    Mensagem  marcos_novack em 24/4/2019, 02:21

    Boa noite

    Se vai fazer um UPDATE seguinifica que já existe um ID, não a necessidade de gerar novo ID, por isso erro, ou estou enganado?

    Gerar um novo ID só quando for um INSERT.

    Abraço
    Avelino João
    Avelino João
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Angola
    Mensagens : 304
    Registrado : 10/03/2012

    Ultimo Id Mysql Empty Re: Ultimo Id Mysql

    Mensagem  Avelino João em 26/4/2019, 20:58

    Boa Noite, eu uso dessa forma

    Código:
    Sub GerarCodigo()
    Dim NumCod As Integer
    10        Comando = "select idusuario from tblUsuarios order by idusuario Desc" 'seleciona todos os campos em ordem decrescente
    20        Call execut 'chama a função que criamos que irá executar o comando Sql acima
    30        If dataset.BOF = True Then ' isso que dizer, se não existirem resgistro na tabela Begin(inicio) sera igual a true
    40            NumCod = 1 ' e o numero de código irá ser = 1, pq é o primeiro registro
    50        Else
    60            NumCod = dataset("idusuario") + 1 'se não ele pega o ultimo codigo e adiciona 1 que sera o proximo
    70        End If
    End Sub

    Aqui onde eu crio o novo ID

    Código:
    Private Function buscaCampos() As clstblUsuarios
    10     Set buscaCampos = New clstblUsuarios
    20     Call GerarCodigo
    30         If IsNull(Me!id) Then
    40             id = NumCod
    50         End If
    60        buscaCampos.IdUsuario = id
    70        buscaCampos.usuario = tx1
    80        buscaCampos.Senha = Tx2
    90        buscaCampos.Bloqueado = selBloqueado
    100      buscaCampos.email1 = email
    End Function

    Conexão ao Mysql
    Código:
    Public Function execut()
            'inicializa o dataset, executa o comando sql passado através da variavél Comando e preenche o dataset na memória
           
    10      On Error GoTo execut_Error
     
    20          Call MySQL_Server    'Carrega parametros do servidor
           
       
    30      If Banco.State = 1 Then    'verificar o status do banco de dados. Se aberto fecha a conexão
    40            Banco.Close
    50        End If

    60        If dataset.State = 1 Then    'verificar o status do recordeset. Se aberto fecha a conexão
    70            dataset.Close
    80        End If
             
    "
    90      Banco.Open "Driver={MySQL ODBC 5.1 Driver};Server=" & MyslqServidor & ";Database=" & MyslqDatabase & ";User=" & MyslqUsuario & "; Password=" & MyslqSenha & "; Port=" & MyslqPorta & ";Option=3;"
    100    dataset.CursorLocation = adUseClient
    110    dataset.Open Comando, Banco, adOpenDynamic, adLockOptimistic
                     
     

    120      On Error GoTo 0
    130      Exit Function

    execut_Error:
     
    140      MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure execut of Módulo Parametros_MySQL_Conexao"
     
    End Function

    Código:
    Public Sub MySQL_Server()

    10      On Error GoTo MySQL_Server_Error

    20        MyslqServidor = DLookup("[Servidor]", "Servidor", "[ID]=1")    'Servidor Web
    30        MyslqUsuario = DLookup("[USServer]", "Servidor", "[ID]=1")    'Usuário do banco de dados
    40      MyslqSenha = DLookup("[PWServer]", "Servidor", "[ID]=1")    'Senha do banco de dados
    50        MyslqDatabase = DLookup("[DbServer]", "Servidor", "[ID]=1")    'Database
    60        MyslqPorta = DLookup("[Port]", "Servidor", "[ID]=1")    'Porta source
    70      On Error GoTo 0
    80      Exit Sub

    MySQL_Server_Error:

     MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure MySQL_Server of Módulo Parametros_MySQL_Conexao"

    End Sub


    .................................................................................
    Proaccess - Angola

    Conteúdo patrocinado

    Ultimo Id Mysql Empty Re: Ultimo Id Mysql

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 16/9/2019, 01:53