FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WINDEV 2024
→
Simplificar codigo
Simplificar codigo
Débuté par Manuel, 21 avr. 2009 11:23 - 6 réponses
Connectez-vous…
Manuel
#1
Posté le 21 avril 2009 - 11:23
este codigo funciona bien pero alguien sabe como simplificarlo ?
HReadFirst(Factd)
WHILE HFound()
HDelete()
HReadNext()
END
HReadFirst(f02fox)
WHILE NOT HOut(f02fox)
Factd.FACTURA = f02fox.FACTURA
Factd.ORDEN = f02fox.ORDEN
Factd.CODIGO1 = f02fox.CODIGO1
Factd.NOMBRE = f02fox.NOMBRE
Factd.FECHA = f02fox.FECHA
Factd.ALM = f02fox.ALM
Factd.CIA = f02fox.CIA
Factd.C1 = f02fox.C1
Factd.C2 = f02fox.C2
Factd.C3 = f02fox.C3
Factd.C4 = f02fox.C4
Factd.C5 = f02fox.C5
Factd.C6 = f02fox.C6
Factd.C7 = f02fox.C7
Factd.C8 = f02fox.C8
Factd.C9 = f02fox.C9
Factd.C10 = f02fox.C10
Factd.C11 = f02fox.C11
Factd.C12 = f02fox.C12
Factd.C13 = f02fox.C13
Factd.C14 = f02fox.C14
Factd.C15 = f02fox.C15
Factd.C16 = f02fox.C16
Factd.C17 = f02fox.C17
Factd.C18 = f02fox.C18
Factd.FECHAO = f02fox.FECHAO
HReadNext(f02fox)
HAdd(Factd)
END
Gracias
Manuel
Signaler
0
0
Francisco Martos
#2
Posté le 21 avril 2009 - 14:37
Has probado la función HCopyRecord, creo que si las dos tablas son iguales podría funcionar.
Un Saludo.
Signaler
0
0
Salvador Soler
#3
Posté le 21 avril 2009 - 16:19
Hola manuel,
La forma que estas haciendolo es la correcta, podrias hacelera un poco el proceso usando una consulta SQL para el borrado
rs is
Data Source
HExecuteSQLQuery
(
rs
,
hQueryDefault
,
"DELETE FROM TABLA"
)
La instrucción HCopyRecord() es parecida a las que estas usando tendrias que repetirla para cada campo.
Saludos
Salvador
Signaler
0
0
Manuel
#4
Posté le 21 avril 2009 - 18:17
Perfecto !!!
Gracias a Todos
Manuel
Signaler
0
0
Héctor A. Rosso
#5
Posté le 23 avril 2009 - 09:40
Hola Manuel, usa HCopyRecord, te iguala todos los campos llamados iguales, hDefaultval hace que los campos que no existan en el archivo origen sean remplazados por el valor definido en al análisis para el archivo destino.
Antes de hacer el HAdd se pueden modificar cualquiera de los campos.
HCopyRecord no adiciona el registro, hay que hacer a continuación el HAdd.
HReadFirst(Factd)
WHILE HFound()
HDelete()
HReadNext()
END
HReadFirst(f02fox)
WHILE NOT HOut(f02fox)
HCopyRecord(Factd,f02fox, hDefaultVal)
HAdd(Factd)
HReadNext(f02fox)
END
Saludos, Héctor.
Signaler
0
0
pat
#6
Posté le 23 avril 2009 - 17:43
Hola Manuel,
HCreation
(
Factd
)
FOR
ALL
f02fox
HCopyRecord
(
f02fox
,
Factd
,
hDefaultVal
)
END
--
Saludos
pat
http://megustawindev.free.fr
Signaler
0
0
Manuel
#7
Posté le 23 avril 2009 - 19:07
si muchas gracias ese comando es el equivalente a scatter memvar de fox
y era lo que estaba buscando.
Gracias
Manuel
Signaler
0
0
→ Revenir à WINDEV 2024
WINDEV 2024
WEBDEV 2024
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte