Página 1 de 1
DBF Confusa! help
Enviado: 26 Ago 2009 08:45
por kristo
Bom dia caros amigos, espero que todos estejam em paz.
Amigos estou com um problema meio sinistro aqui, tenho um banco de dados com uma coluna somente, a coluna se chama NOME e nela contém o nome da pessoa, so que segunda linha contém o endereço da pessoa, ou seja é uma linha nome e aproxima linha endereço, eu gostaria se fosse possível de acrescentar mais uma coluna nesse banco de dados com o nome de endereço e transferir a linha que consta o endereço para essa nova coluna chamada endereço.
EX.
Nome
José Carlos do Nascimento
Rua pedreiras, 62
Antonio José
Rua Mascote, 98
Gostaria que ficasse assim:
Nome | Endereço
José Carlos do Nascimento | Rua pedreiras, 62
Antonio José | Rua Mascote, 98
Será que é possível uma PRG para essa função?
Se alguém puder monta-la para mim, vai me ajudar muito.
Desculpe o abuso, mais por gentileza me ajudem.
Kristo
Ps. o nome da DBF é "DADOSPF"
Re: DBF Confusa! help
Enviado: 26 Ago 2009 09:55
por alaminojunior
kristo escreveu:tenho um banco de dados com uma coluna somente, a coluna se chama NOME e nela contém o nome da pessoa, so que segunda linha contém o endereço da pessoa, ou seja é uma linha nome e aproxima linha endereço,
Assumindo que esta ordem não falha, pode-se incluir o campo endereço no dbf e em seguida:
Código: Selecionar todos
Function main
public ender
use nomes
do while !eof()
repl endereco with pega_end(recno()+1)
skip+2
enddo
pack
return
function pega_end(arg)
local estava:= recno()
dbgoto(arg)
ender = nome
delete
dbgoto(estava)
return ender
Codifiquei aqui mesmo, sem testar.
Não me lembro agora o número da conta, mas depois mando o boleto.

)
Re: DBF Confusa! help
Enviado: 26 Ago 2009 10:54
por gvc
Eu acho melhor criar ou DBF, só por segurança.
Código: Selecionar todos
function main
local a1
use dadospf alias hum
a1 := dbstruct()
aadd(a1, {'endereco', 'C', 50, 0})
dbcreate('novo', a1)
use novo alias doiz new
hum->(dbgotop())
while !hum->(eof())
doiz->(dbappend())
doiz->nome := hum->nome
hum->(dbskip())
doiz->endereco := hum->nome
hum->(dbskip())
end
dbcloseall()
return(Nil)
Boa sorte. Espero ter ajudado.
Re: DBF Confusa! help
Enviado: 26 Ago 2009 12:16
por kristo
Amigos, desculpe minha ignorância, mais é somente pegar essa função e compilar?
Pois eu estou compilando e não está acontecendo nada ao executar.
Eu não sei montar uma prg inteira com todas as funções, caminhos.
Se não for pedir muito, alguém poderia fazer isso.
Kristo.
Re: DBF Confusa! help
Enviado: 26 Ago 2009 12:25
por alaminojunior
Se for usar o meu exemplo:
Abra o dadospf.dbf com o dbu e inclua o novo campo "endereco"
em seguida rode o programinha. Depois de compilar e linkar, é claro.
Para compilar: clipper main
e depois linke: rtlink fi main
Código: Selecionar todos
Function main
public ender
use dadospf
do while !eof()
repl endereco with pega_end(recno()+1)
skip+2
enddo
pack
return
function pega_end(arg)
local estava:= recno()
dbgoto(arg)
ender = nome
delete
dbgoto(estava)
return ender
Mas faça uma cópia do dbf antes, pois como eu disse, não testei.
Re: DBF Confusa! help
Enviado: 26 Ago 2009 14:45
por kristo
Amigo, fiz tudo como você explicou, compilei, linkei, acrecentei o novo campo "endereco", rodei o executável e nada aconteceu.
Obrigado pela ajuda e paciência.
Kristo
Re: DBF Confusa! help
Enviado: 26 Ago 2009 14:49
por alaminojunior
Que coisa.
Se quiser mandar o arquivo para eu tentar, estou a disposição.
edson.alamino@itelefonica.com.br
Re: DBF Confusa! help
Enviado: 26 Ago 2009 19:18
por gvc
[kristo]
Qual dos exemplos não funcionou???
Re: DBF Confusa! help
Enviado: 27 Ago 2009 08:58
por kristo
alaminojunior
Meu amigo muito abrigado, realmente funcionou perfeitamente, eu não sei o que eu estava fazendo de errado, obrigado em dispor o seu tempo comigo, um forte abraço.
Paz a todos
Re: DBF Confusa! help
Enviado: 27 Ago 2009 09:01
por kristo
GVC
Eu testei apenas o exemplo do alaminojunior, pois eu estava com dificuldade de fazer rodar a PRG dele, então ficamos batalhando o que estava acontecendo, e como sempre, era EU o ERRO, mais um dia eu aprendo.
Abrigado a todos pela ajuda.
Kristo