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

    Instruçao SQL nao retorna registos

    Compartilhe

    cpampas
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 35
    Registrado : 27/10/2013

    Instruçao SQL nao retorna registos

    Mensagem  cpampas em Ter 29 Out 2013, 20:12

    Boa tarde,
    Quando o Abro o recordset strSQL, a instruçao retorna 0 registros, no entanto se substituir a strSQL pela consulta no assistente do access a partir da qual construi a string, ja obtenho 3 registos .
    Algum Problema com a string ?
    Qual seria o metodo mais rapido de executar em caso de que existam muitos registos, e tendo tambem em conta que uma das tabelas é uma ligaçao mySQL, servidor WEB.
    Obrigado
    Carlos
    ------------

    Dim db As Database
    Dim rst As Recordset
    Dim strSQL As String
    Dim c As Integer

    Set db = CurrentDb()
    strSQL = "SELECT id, file_path, file_name, FileDate, FileLength," & _
    "keywords, Indexado, Documento, Remetente, date_added," & _
    "FicheiroDigital, PastaID, ProcessoID, external_ref, internal_ref," & _
    "inOut, N1, blue " & _
    "FROM tblDocumentos LEFT JOIN tblDocumentosLocal ON tblDocumentos.file_name = tblDocumentosLocal.FileName " & _
    "WHERE (((tblDocumentos.Indexado)=No) AND ((tblDocumentosLocal.FileName) Is Null));"

    Set rst = db.OpenRecordset(strSQL) ´ASSIM NAO FUNCIONA
    Set rst = db.OpenRecordset("qryUnmatch", dbOpenDynaset) ´ASSIM JA FUNCIONA, sendo que a consulta qryUnmatch deveria fazer o mesmo que a string strSQL
    With rst
    .MoveLast
    .MoveFirst
    c = rst.RecordCount
    End With
    avatar
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 9703
    Registrado : 04/11/2009

    Re: Instruçao SQL nao retorna registos

    Mensagem  JPaulo em Qua 30 Out 2013, 10:53

    Tente utilizar DAO

    Faça o teste;

    Dim db As DAO.Database
    Dim rst As DAO.Recordset
    Dim strSQL As String
    Dim c As Integer

    Set db = CurrentDb()
    strSQL = "SELECT id, file_path, file_name, FileDate, FileLength,keywords, Indexado, Documento, Remetente, date_added,FicheiroDigital, PastaID, ProcessoID, external_ref, internal_ref,inOut, N1, blue " & vbCrLf & _
    "FROM tblDocumentos " & vbCrLf & _
    "LEFT JOIN tblDocumentosLocal " & vbCrLf & _
    "ON tblDocumentos.file_name = tblDocumentosLocal.FileName " & vbCrLf & _
    "WHERE (((tblDocumentos.Indexado)= No) AND ((tblDocumentosLocal.FileName) Is Null))"

    Set rst = db.OpenRecordset(strSQL, dbOpenDynaset)

    With rst
    .MoveLast
    .MoveFirst
    c = rst.RecordCount
    End With


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver este link.]

    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

      Data/hora atual: Ter 21 Nov 2017, 12:09