Ir para conteúdo
Fórum Script Brasil
  • 0

Sql Quando Migrado Dao3.5 Para Dao3.6


Guest mitxoca

Pergunta

Tenho um projeto em VB sendo que o banco de dados é em Access97 usava a referencia MicrosoftDAO3.51 converti o mesmo para Access2000 e mudei a referencia para DAO3.6 funcionou legal porém em certas pesquisas sql não retorna nada vou passar as linhas:

Assim eu abro o banco de dados

Sub AbrirBancoDados()

Dim BD As String

BD = GetSetting(App.EXEName, "LocalBD", "Usuário", "")

If BD <> "" Then

BD = GetSetting(App.EXEName, "LocalBD", "Usuário", "")

End If

Dim wrk As Workspace

Set wrk = DBEngine.Workspaces(0)

Set db = wrk.OpenDatabase(BD, False, False, ";PWD=1515")

End Sub

NESSE TIPO DE PESQUISA NÃO RETORNA OS VALORES QUE ANTES NA DAO3.51 ACESS97 ERAM RETORNADOS O RECORDCOUNT DA SEMPRE 0 ACREDITO QUE FALTA ALGUM PARAMETRO PARA FAZER FUNCIONAR AS SQL

Dim Sql As String

Dim Tbsql As Recordset

Sql = "Select * From reserva order by reserva.data "

Set Tbsql = db.OpenRecordset(Sql)

If Tbsql.RecordCount >= 1 Then

..........

com Dao3.51 access97 funciona na Dao3.6 access2000 não

agradeço a ajuda

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Realmente o RecordCount nem sempre retorna a quantidade de registros. Se não me engano, mudar o tipo de cursor (server ou client) pode resolver caso, mas eu prefiro utilizar uma instrução SQL do tipo "SELECT Count(*) AS quantidade FROM tabela", que é garantido que vá funcionar.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0
Obrigado, o problema e que terei que fazer centenas de alterações no codigo

Crie uma simples função que receba somente o nome da tabela e que faça a operação de retornar a quantidade de registros. Neste caso você trocaria...

If Tbsql.RecordCount >= 1 Then
... por:
If Conta("Reserva") >= 1 Then

Inclusive, você pode colocar um segundo parâmetro que seria a condição (é provável que na maioria dos casos você não vai pedir todos os registros da tabela, mas sim apenas alguns através da cláusula WHERE).

São idéias, mas experimentou trocar o cursor?

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...