Fred Chevitarese ... | Conhecimento nunca se perde!!!



# -*- coding:utf-8

import win32com.client, sys

#Efetuando a conexão com o BD ...

conexao = win32com.client.Dispatch("ADODB.Connection")

Rs = win32com.client.Dispatch("ADODB.Recordset")

banco = raw_input(u'Digite o caminho completo para o arquivo MDB:\n')

try:

conexao.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + str(banco))

except:

print(u'Ocorreu um erro ao acessar o banco de dados ...\n')

raise SystemExit

tabelaPesquisa = raw_input('Digite a tabela a ser pesquisada:\n')

print "Digite o tipo de pesquisa a ser feita.\n P = Pedidos, R = Respostas, T = Todos\n"

tipopesquisa = raw_input('Tipo de pesquisa:\n')

#Passando para maiusculo ...

tipopesquisa = tipopesquisa.upper()

if tipopesquisa 'T':

print "Pesquisar por data. Digite a data. \nEx: 17/6/2009\n"

datapesquisa = raw_input('Data para pesquisa:\n')

if tipopesquisa == 'P':

strSQL = "Select * from " + str(tabelaPesquisa) + " where Pedido_ou_Resposta Like '%Pedido String TECCOM " + datapesquisa + "%'"

elif tipopesquisa == 'R':

strSQL = "Select * from " + str(tabelaPesquisa) + " where Pedido_ou_Resposta Like 'Resposta String TECCOM " + datapesquisa + "%'"

else:

print "Sera feita a pesquisa no banco inteiro, sem filtros.\n"

strSQL = "Select * from " + str(tabelaPesquisa)

print strSQL

try:

Rs.Open(strSQL, conexao, 2,3)

except:

print "Ocorreu um erro. Verifique os dados digitados e tente novamente.\n"

raise SystemExit

#Selecionando os registros ...

i = 0

if not Rs.EOF:

#Pegando o nome dos campos da tabela ...

for tabela in Rs.Fields:

nomeTabela = tabela.Name

#Definindo manualmente onde serão gravados os registros ...

caminho = raw_input(u'Digite o diretorio onde serao gravados os arquivos:\n').strip()

# print len(caminho)

# print caminho[-1:]

#Verificando se foi colocada a barra no fim do diretorio especificado ...

if caminho[-1:] "\\":

caminho = caminho + "\\"

# print caminho

Rs.MoveFirst()

while not Rs.EOF:

i += 1

#Pegando os valores no campo ...

dados = Rs.Fields[nomeTabela].value

if tipopesquisa == 'P':

nomearquivo = 'Pedido_'

elif tipopesquisa == 'R':

nomearquivo = 'Resposta_'

else:

nomearquivo = 'Registro_'

if (i < 10):

arq = file(str(caminho) + nomearquivo + str(i) + ".txt", 'w')

else:

arq = file(str(caminho) + nomearquivo + str(i) + ".txt", 'w')

try:

arq.write(dados)

except:

print "Occoreu um erro ao gravar o arquivo...\n"

raise SystemExit

arq.close()

print u"\rProcessando registro %d ... " % i,

# if i == 50:

# break

Rs.MoveNext()

else:

print u"\nNao encontrei nada ..."

print "\nForam encontrados %d registros!!!" %(i)

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download