IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

SqlConnecte HyperFile C/S


Sujet :

WinDev

  1. #1
    Membre averti Avatar de tunizar
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 573
    Points : 427
    Points
    427
    Par défaut SqlConnecte HyperFile C/S
    Bonjour,
    J'ai un projet en C/S.
    J'essaye d'établir une connection via SqlConnect, sans résultat
    NumConnexion = SQLConnecte(<NomProjet.wdd>, "", "","HYPER FILE")

    mais NumConnexion reste toujours 0

    comment faire ?

  2. #2
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    Bonjour

    Commence par afficher le message d'erreur (SQL.MesErreur) en ayant fait SQLInfogene() avant, comme c'est expliqué sur la page d'aide de la fonction

    Ensuite il faudrait peut être passer quelques infos supplémentaires: un utilisateur, un mot de passe et le nom de la base de données

  3. #3
    Membre averti Avatar de tunizar
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 573
    Points : 427
    Points
    427
    Par défaut
    Bonjour,
    Le code d'erreur est 0 sans message explicatif

    Je souhaite utiliser SqlConnecte pour faire la même
    chose avec le code suivant qui marche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    HFCS is Connection
    // Description de la connexion
    HFCS..User = "admin"
    HFCS..Password = ""
    HFCS..Server = "WD17:4900" 
    HFCS..Database = "hierarchy"
    HFCS..Provider = hAccessHFClientServer
    HFCS..Access = hOReadWrite
    HFCS..ExtendedInfo = "Infos étendues"
    HFCS..CursorOptions = hClientCursor
    // Ouverture de la connexion
    IF HOpenConnection(HFCS) = False THEN
    	TestWriteResult(twrError , HErrorInfo(hErrFullDetails))
     
    ELSE
    	TestWriteResult(twrInfo,"ok")
    	HCloseConnection(HFCS)
    END

  4. #4
    Membre chevronné Avatar de EDM-TAHITI
    Homme Profil pro
    Directeur Service informatique et projet développement
    Inscrit en
    Janvier 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur Service informatique et projet développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 994
    Points : 1 995
    Points
    1 995
    Par défaut
    Hello,
    EN nous montrant ton code de connexion et de traitement, nous pourrions t'apporter des solutions, je pense.
    le savoir est dans les livres, 'the magic touch F1'
    Amicalement
    Eric

  5. #5
    Membre averti Avatar de tunizar
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 573
    Points : 427
    Points
    427
    Par défaut
    Citation Envoyé par EDM-TAHITI Voir le message
    Hello,
    EN nous montrant ton code de connexion et de traitement, nous pourrions t'apporter des solutions, je pense.
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    liConNum is entier
    lsMyServer is chaine = "WD17:4900"
    lsMyDataBase is chaine = "MyDB"
    liConNum = SQLConnecte(lsMyserver, "admin", "", lsMyDatabase, "Hyper File")
    if liConNum = 0 then
    SQLInfoGene()
    error("Faute:"+sql.erreur+RC+sql.MesErreur)
    else
    info("Connected with "+lsMyDatabase)
    end

  6. #6
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    Bonjour

    L'aide ne dit pas grand chose au sujet de SQLConnecte avec HFSQL C/S
    Ce qui est sur c'est que la syntaxe que tu utilises ne fonctionne pas

    J'ai essayé pas de mal de syntaxes différentes et rien ne semble fonctionner

    Ceci dit j'arrive à utiliser les ordres SQL... en faisant comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    cnxHF est une Connexion
    nNumCnx est un entier
     
    sAna est une chaîne = "C:\Temp\MonAnalyse.wdd"
    sPwdAnalyse est une chaîne = "admin"		// Mot de passe analyse (si nécessaire)
    sPwdFic est une chaîne = "admin999"		// Mot de passe des fichiers (si nécessaire)
     
    // Paramètres de connexion HFSQL C/S
    sDataBase est une chaîne = "MaBaseHFCS"
    sServerHFCS est une chaîne = "localhost:4900"
    sUserHFCS est une chaîne = "admin"
    sPwdHFCS est une chaîne = "mon_mot_de_passe_hfcs"
     
    nNumCnx = SQLConnecte(sAna, "", sPwdAnalyse)
    IF nNumCnx = 0 THEN
    	SQLInfoGene()
    	Erreur("Erreur SQLConnecte : " + SQL.MesErreur)
    ELSE
     
    	SI HOuvreAnalyse(sAna, sPwdAnalyse) ALORS
     
    		cnxHF..Provider = hAccèsHFClientServeur
    		cnxHF..Serveur = sServerHFCS
    		cnxHF..BaseDeDonnées = sDataBase			// Base de données HFSQL C/S
    		cnxHF..Utilisateur = sUserHFCS				// utilisateur sur le serveur HFSQL C/S
    		cnxHF..MotDePasse = sPwdHFCS				// mot de passe de l'utilisateur sur le serveur HFSQL C/S
     
    		SI PAS HOuvreConnexion(cnxHF) ALORS
    			Erreur("Erreur HOuvreConnexion : " + HErreurInfo())
    		SINON
    			HChangeConnexion("*", cnxHF)
    			HPasse("*", sPwdFic)	// dans cet exemple j'ai aussi un mot de passe au niveau des fichiers
    			SI SQLExec("SELECT * FROM Article", "req1") ALORS
    				SQLPremier("req1")
    				SI PAS SQL.EnDehors ALORS Info(SQLCol("req1",1))
    			SINON
    				SQLInfoGene("req1")
    				Erreur("Erreur SQLExec : " + SQL.MesErreur)
    			FIN
    		FIN
     
    	SINON
    		Erreur("Erreur HOuvreAnalyse : " + HErreurInfo())
    	FIN
    END
    Dans cet exemple l'analyse que j'utilise n'est pas celle du projet en cours, c'est surement plus simple si c'est le cas

    Et pour pouvoir attaquer des fichiers HFSQL C/S sans passer par une analyse, il y a une astuce :
    Utiliser une analyse vide et faire des HDeclareExterne sur les fichiers retournés par HListeFichier (la syntaxe qui spécifie une connexion)

    C'est un peu lourd mais ça fonctionne dans tous les cas (voir Outils_SQL dans ma signature)

    En espérant que ça puisse t'aider

  7. #7
    Membre chevronné Avatar de EDM-TAHITI
    Homme Profil pro
    Directeur Service informatique et projet développement
    Inscrit en
    Janvier 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur Service informatique et projet développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 994
    Points : 1 995
    Points
    1 995
    Par défaut
    Hello,
    Y'a un truc qui me chiffonne un tantinet.... Pourquoi vouloir passer par un SLQConnecte sur une base HFSQL (ou autre)??????
    Pourquoi ne pas voir du côté d'une propriété 'connexion'?
    Ou alors, j'ai loupé un truc dans la discussion.
    le savoir est dans les livres, 'the magic touch F1'
    Amicalement
    Eric

  8. #8
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    Citation Envoyé par EDM-TAHITI Voir le message
    Hello,
    Y'a un truc qui me chiffonne un tantinet.... Pourquoi vouloir passer par un SLQConnecte sur une base HFSQL (ou autre)??????
    Pourquoi ne pas voir du côté d'une propriété 'connexion'?
    Ou alors, j'ai loupé un truc dans la discussion.
    Il y a un seul intérêt : si l'application doit se connecter à plusieurs types de bases avec des protocoles différents. Si l'application autorise ODBC par exemple, on n'a pas le choix

    Dans les autres cas il n'y a strictement aucun, mais aucun intérêt : c'est s'imposer des limitations alors que tout est géré en natif

  9. #9
    Membre averti Avatar de tunizar
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 573
    Points : 427
    Points
    427
    Par défaut
    Citation Envoyé par EDM-TAHITI Voir le message
    Hello,
    Y'a un truc qui me chiffonne un tantinet.... Pourquoi vouloir passer par un SLQConnecte sur une base HFSQL (ou autre)??????
    Pourquoi ne pas voir du côté d'une propriété 'connexion'?
    Ou alors, j'ai loupé un truc dans la discussion.
    Comme Pascal a dit !
    Mon but est un composant qui se connecte à plusieurs BDD avec la même fonction WinDev qui est SqlConnecte,
    je ne souhaite pas utiliser les ordres Hxxx c'est pour cela que je veux faire SqlExec et je ne souhaite pas utiliser le fichier
    WDD
    Je pense que Hyperfile n'est pas un serveur de BDD, vu qu'il est impossible de dialoguer avec lui en utilisant SqlConnecte
    parceque dans ce cas il ne prend pas en considération le user & pass

  10. #10
    Membre averti Avatar de tunizar
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 573
    Points : 427
    Points
    427
    Par défaut
    Citation Envoyé par hpascal Voir le message
    Bonjour

    L'aide ne dit pas grand chose au sujet de SQLConnecte avec HFSQL C/S
    Ce qui est sur c'est que la syntaxe que tu utilises ne fonctionne pas

    J'ai essayé pas de mal de syntaxes différentes et rien ne semble fonctionner

    Ceci dit j'arrive à utiliser les ordres SQL... en faisant comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    cnxHF est une Connexion
    nNumCnx est un entier
     
    sAna est une chaîne = "C:\Temp\MonAnalyse.wdd"
    sPwdAnalyse est une chaîne = "admin"		// Mot de passe analyse (si nécessaire)
    sPwdFic est une chaîne = "admin999"		// Mot de passe des fichiers (si nécessaire)
     
    // Paramètres de connexion HFSQL C/S
    sDataBase est une chaîne = "MaBaseHFCS"
    sServerHFCS est une chaîne = "localhost:4900"
    sUserHFCS est une chaîne = "admin"
    sPwdHFCS est une chaîne = "mon_mot_de_passe_hfcs"
     
    nNumCnx = SQLConnecte(sAna, "", sPwdAnalyse)
    IF nNumCnx = 0 THEN
    	SQLInfoGene()
    	Erreur("Erreur SQLConnecte : " + SQL.MesErreur)
    ELSE
     
    	SI HOuvreAnalyse(sAna, sPwdAnalyse) ALORS
     
    		cnxHF..Provider = hAccèsHFClientServeur
    		cnxHF..Serveur = sServerHFCS
    		cnxHF..BaseDeDonnées = sDataBase			// Base de données HFSQL C/S
    		cnxHF..Utilisateur = sUserHFCS				// utilisateur sur le serveur HFSQL C/S
    		cnxHF..MotDePasse = sPwdHFCS				// mot de passe de l'utilisateur sur le serveur HFSQL C/S
     
    		SI PAS HOuvreConnexion(cnxHF) ALORS
    			Erreur("Erreur HOuvreConnexion : " + HErreurInfo())
    		SINON
    			HChangeConnexion("*", cnxHF)
    			HPasse("*", sPwdFic)	// dans cet exemple j'ai aussi un mot de passe au niveau des fichiers
    			SI SQLExec("SELECT * FROM Article", "req1") ALORS
    				SQLPremier("req1")
    				SI PAS SQL.EnDehors ALORS Info(SQLCol("req1",1))
    			SINON
    				SQLInfoGene("req1")
    				Erreur("Erreur SQLExec : " + SQL.MesErreur)
    			FIN
    		FIN
     
    	SINON
    		Erreur("Erreur HOuvreAnalyse : " + HErreurInfo())
    	FIN
    END
    Dans cet exemple l'analyse que j'utilise n'est pas celle du projet en cours, c'est surement plus simple si c'est le cas

    Et pour pouvoir attaquer des fichiers HFSQL C/S sans passer par une analyse, il y a une astuce :
    Utiliser une analyse vide et faire des HDeclareExterne sur les fichiers retournés par HListeFichier (la syntaxe qui spécifie une connexion)

    C'est un peu lourd mais ça fonctionne dans tous les cas (voir Outils_SQL dans ma signature)

    En espérant que ça puisse t'aider
    Bonjour,
    Oui effectivement ça m'aide boucoup et je t'en remercier, d'ailleur j'ai pensé avant à te contacter par rapport à ton Outils_SQL.

    Ma conclusion est que SqlConnecte ne fonctionne pas avec un serveur HF C/S, si jamais quelqu'un dira le contraire ?.
    Je compte surcharger le fonction SqlConnecte en mettant ta partie de code.
    Encore merci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    // Appel d'un serveur HF
    LOCAL
    sDataBase is string = "hierarchy"
    sServerHFCS is string = "WD17:4900"
    sUserHFCS is string = "admin"
    sPwdHFCS is string = ""
    nNumConnexion  is int
    nNumConnexion = cUtil::SqlConnect(sServerHFCS,sDataBase,sUserHFCS,sPwdHFCS)
    IF SQLExec("SELECT * FROM Fonctions", "req1") THEN
    	SQLFirst("req1")
    	IF NOT SQL.Out THEN 
    		Trace(SQLCol("req1",1))
    	END
    ELSE
    	SQLInfo("req1")
    	TestWriteResult(twrError,"Erreur SQLExec : " + SQL.MesError)
    END
    Le surcharge utilise le multisyntaxe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    // Résumé : <SqlConnect pour serveur HF C/S>
    FUNCTION GLOBAL PUBLIC SqlConnect(pServerHFCS,pDataBase,pUserHFCS,pPwdHFCS)
    nNumConnexion  is int
     
    sAna is string = fRepEnCours()+ "\TmpOrm.wdd"
    sPwdAnalyse is string = ""	// Mot de passe analyse (si nécessaire)
    sPwdFic is string = ""		// Mot de passe des fichiers (si nécessaire)
    cnxHF is Connection
    // Liste des fichiers
    sDBTableList is string
    sTable is string
     
    nNumConnexion = WL.SQLConnect(sAna, "", sPwdAnalyse)
    IF nNumConnexion = 0 THEN
    	SQLInfo()
    	ExceptionThrow(49,...
    					"Erreur SQLConnecte sur DB HF C/S: " + ...
    					"a échoué."+CR+...
    					"Code erreur : " + SQL.Error +CR+...
    					SQL.MesError...
    				  )
    ELSE
    		// Ouvre l'analyse
    		IF HOpenAnalysis(sAna, sPwdAnalyse)  = True THEN
    			// Prépare la connection
    			cnxHF..Provider = hAccessHFClientServer
    			cnxHF..Server = pServerHFCS
    			cnxHF..Database = pDataBase			// Base de données HFSQL C/S
    			cnxHF..User = pUserHFCS				// utilisateur sur le serveur HFSQL C/S
    			cnxHF..Password = pPwdHFCS			// mot de passe de l'utilisateur sur le serveur HFSQL C/S
    			// Ouvre la connection
    			IF NOT HOpenConnection(cnxHF) THEN
    				ExceptionThrow(50,"Impossible d'ouvrir le serveur HF C/S  : " + pServerHFCS+CR+HErrorInfo(hErrFullDetails))
    			ELSE
    				// Stocke la liste des table HF
    				sDBTableList = HListFile(cnxHF)
    				// Parcour la liste stockée
    				FOR ALL STRING sTable OF sDBTableList SEPARATED BY CR
    					// Importation logique dans l'analyse temporaire  la description d'un fichier de données à partir d'un fichier de données HyperFileSQL existant <une à une>
    					IF HDeclareExternal(sTable,ExtractString(sTable,1,"."),cnxHF)	 = False THEN
    						ExceptionThrow(51,"Erreur HDéclareExterne : " + HErrorInfo(hErrFullDetails))
    					END
    				END
    				HChangeConnection("*", cnxHF)
    				HPass("*", sPwdFic)	// dans cet exemple j'ai aussi un mot de passe au niveau des fichiers
     
    			END			
    		ELSE
    			ExceptionThrow(52,"Erreur ouvreture d'analyse, vérifiez que le fichier : " +fRepEnCours()+ "\TmpOrm.wdd" +"existe et au bon format." +CR+ HErrorInfo(hErrFullDetails))
    		END
    END
    RESULT nNumConnexion
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    // Résumé : <SqlConnect pour autre serveur >
    FUNCTION GLOBAL PUBLIC SqlConnect(...
    						pSource , ...
    						pUser , ...
    						pPass ,...
    						pDataBaseName ,...
    						pDataBaseType ,...
    						pProviderOLEDB,...
    						pOptionnelInformations...
    					) 
    LOCAL
    	nNumConnexion  is int
    nNumConnexion  = WL.SQLConnect(...
    							pSource , ...
    							pUser , ...
    							pPass ,...
    							pDataBaseName ,...
    							pDataBaseType ,...
    							pProviderOLEDB,...
    							pOptionnelInformations...
    						) 
    IF nNumConnexion = 0 THEN
    	SQLInfo()
    	ExceptionThrow(48,"La connexion à la source de données" + pSource + ...
    	"a échoué."+CR+...
    	"Code erreur : " + SQL.Error +CR+...
    	SQL.MesError)
    END
     
    RESULT nNumConnexion

  11. #11
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 10
    Points : 0
    Points
    0
    Par défaut sql connecte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    Code_sql est une Source de Données
    	Pt_ht ,Tva , Pt_total sont des réels=0
    	Detail_sql est une Source de Données
    	nom_sql est une chaîne="REQ_CHERCHE_RESID"
    	NomDetail_sql est une chaîne ="REQ_CHERCH_DESGIN"
    	SI NumConnexion <> 0 ALORS
    //------------------------------ requête pour remplir la table des designations
    		Detail_sql= [
    		SELECT
    		FACTURE_DETAIL.FACTURE_DETAIL_DESIGNATION,
    		FACTURE_DETAIL.FACTURE_DETAIL_QTE,
    		FACTURE_DETAIL.FACTURE_DETAIL_PU_TTC,
    		FACTURE_DETAIL.FACTURE_DETAIL_PU_HT,
    		FACTURE_DETAIL.FACTURE_DETAIL_TVA,
    		FACTURE_DETAIL.FACTURE_DETAIL_CODE,
    		FACTURE_DETAIL.FACTURE_DETAIL_ID_FACTURE,
    		FACTURE_DETAIL.FACTURE_DETAIL_PT_TTC
    		FROM  FACTURE_DETAIL
    		WHERE FACTURE_DETAIL.FACTURE_DETAIL_ID_FACTURE = '%1'
    		]
    		SELON COMBO_cherche
    			CAS 1 :   // ----------------------- Résident
     
    				Code_sql =[
    				SELECT 
    				CLIENT.CLIENT_NOM_PRENOM,	
    				FACTURE.FACTURE_REF AS FACTURE_REF,	
    				FACTURE.FACTURE_TOTAL_HT AS FACTURE_TOTAL_HT,	
    				FACTURE.FACTURE_TOTAL_TTC AS FACTURE_TOTAL_TTC,	
    				FACTURE.FACTURE_DATE AS FACTURE_DATE,
    				FACTURE.FACTURE_ID 
    				FROM 
    				CLIENT,	
    				FACTURE	WHERE 	FACTURE.FACTURE_ID_CLIENT	=	CLIENT.CLIENT_ID	
    				AND CLIENT.CLIENT_NOM_PRENOM = '%1'
    				]
     
    				Code_sql=ChaîneConstruit(Code_sql , SAI_cherche)
    				SI SQLExec(Code_sql,nom_sql)= Vrai ALORS
    					// Traitement de la requête
    						SQLPremier(nom_sql)		
    						SI 	SAI_cherche= SQLLitCol(nom_sql,1)		 ALORS
    							GR_champ_nv..Visible=Vrai
    							LIB_Réponse..Visible=Faux
    							SAI_Résidant=SQLLitCol(nom_sql,1)
    							SAI_NumFact=SQLLitCol(nom_sql,2)
    							SAI_TotalHT=SQLLitCol(nom_sql,3)
    							SAI_TotalTTC=SQLLitCol(nom_sql,4)
    							SAI_Date=SQLLitCol(nom_sql,5)
    							factureID est un entier =SQLLitCol(nom_sql,6)
    							SQLFerme(nom_sql)
    							Detail_sql=ChaîneConstruit(Detail_sql ,factureID)
    							SI SQLExec(Detail_sql,NomDetail_sql)= Vrai ALORS
     
    							TANTQUE SQLFetch(NomDetail_sql)=0
    								Pt_ht= SQLCol(NomDetail_sql,4)
    								Tva =  SQLCol(NomDetail_sql,5)
    								SELON Tva 
    									CAS 1: Tva =0
    									CAS 2: Tva = 5.50
    									CAS 3: Tva = 19.60
    									AUTRE CAS					
    								FIN
    								Pt_total=(Pt_ht*Tva )/100 +Pt_ht
    								TableAjouteLigne(TABLE_detail,SQLCol(NomDetail_sql,6),SQLCol(NomDetail_sql,1),SQLCol(NomDetail_sql,2),SQLCol(NomDetail_sql,3),SQLCol(NomDetail_sql,4),Pt_total,SQLCol(NomDetail_sql,5))
    							FIN
    							SINON
    							// Échec de la requête : affichage d'un message explicatif		
    							SQLInfoGene(NomDetail_sql)
    							Erreur("Erreur" + SQL.Erreur + "dans la requête : ", SQL.MesErreur)
     
    							FIN
    						SINON
    						GR_champ_nv..Visible=Faux
    						LIB_Réponse..Visible=Vrai
    						FIN
     
    				SINON
    				// Échec de la requête : affichage d'un message explicatif		
    		     		SQLInfoGene(nom_sql)
    					Erreur("Erreur" + SQL.Erreur + "dans la requête : ", SQL.MesErreur)
     
     
    				FIN
     
    				SQLFerme(nom_sql)
    			CAS 2 :		  // -----------------------Numéro SS
     
    				Code_sql =[
    				SELECT 
    				CLIENT.CLIENT_NOM_PRENOM,	
    				FACTURE.FACTURE_REF AS FACTURE_REF,	
    				FACTURE.FACTURE_TOTAL_HT AS FACTURE_TOTAL_HT,	
    				FACTURE.FACTURE_TOTAL_TTC AS FACTURE_TOTAL_TTC,
    				FACTURE.FACTURE_DATE AS FACTURE_DATE,
    				CLIENT.CLIENT_NumSec
    				FROM 
    				CLIENT,	
    				FACTURE
    				WHERE 
    				FACTURE.FACTURE_ID_CLIENT	=	CLIENT.CLIENT_ID
    				AND CLIENT.CLIENT_NumSec   = '%1'
     
    				]
    				NumSec est un entier = Val(SAI_cherche)
    				Code_sql=ChaîneConstruit(Code_sql,NumSec)
    				SI SQLExec(Code_sql,nom_sql)= Vrai ALORS
    					// Traitement de la requête
    						SQLPremier(nom_sql)	
    				 SI 	 NumSec =SQLLitCol(nom_sql,6) ALORS		 	
    						GR_champ_nv..Visible=Vrai
    						LIB_Réponse..Visible=Faux
    						SAI_Résidant=SQLLitCol(nom_sql,1)
    						SAI_NumFact=SQLLitCol(nom_sql,2)
    						SAI_TotalHT=SQLLitCol(nom_sql,3)
    						SAI_TotalTTC=SQLLitCol(nom_sql,4)
    						SAI_Date=SQLLitCol(nom_sql,5)
    				SINON 
    						GR_champ_nv..Visible=Faux
    						LIB_Réponse..Visible=Vrai
    					FIN
     
    				SINON
    					// Échec de la requête : affichage d'un message explicatif
    					SQLInfoGene(nom_sql)
    					Erreur("Erreur" + SQL.Erreur + "dans la requête : ", SQL.MesErreur)
    				FIN
    				SQLFerme(nom_sql)
     
    			CAS 3 :		  // -----------------------Période Facture
     
     
     
    			CAS 4 :			  // ----------------------- Date réaslisation de facture
    				GR_champ_nv..Visible=Vrai
    				Code_sql =[
    				SELECT 
    				CLIENT.CLIENT_NOM_PRENOM,	
    				FACTURE.FACTURE_REF AS FACTURE_REF,	
    				FACTURE.FACTURE_TOTAL_HT AS FACTURE_TOTAL_HT,	
    				FACTURE.FACTURE_TOTAL_TTC AS FACTURE_TOTAL_TTC,	
    				FACTURE.FACTURE_DATE AS FACTURE_DATE
    				FROM 
    				CLIENT,	
    				FACTURE
    				WHERE 
    				FACTURE.FACTURE_ID_CLIENT	=	CLIENT.CLIENT_ID
    				AND FACTURE.FACTURE_DATE   =  '%1'
     
    				]
    				Code_sql=ChaîneConstruit(Code_sql,SAI_cherche)
    				SI SQLExec(Code_sql,nom_sql)= Vrai ALORS
    					// Traitement de la requête
    					SQLPremier(nom_sql)	
    					SI 	 SAI_cherche =SQLLitCol(nom_sql,5) ALORS		
    						GR_champ_nv..Visible=Vrai
    						LIB_Réponse..Visible=Faux
    						SAI_Résidant=SQLLitCol(nom_sql,1)
    						SAI_NumFact=SQLLitCol(nom_sql,2)
    						SAI_TotalHT=SQLLitCol(nom_sql,3)
    						SAI_TotalTTC=SQLLitCol(nom_sql,4)
    						SAI_Date=SQLLitCol(nom_sql,5)
    					SINON
    						GR_champ_nv..Visible=Faux
    						LIB_Réponse..Visible=Vrai
    					FIN
    				SINON
    					// Échec de la requête : affichage d'un message explicatif
    					SQLInfoGene(nom_sql)
    					Erreur("Erreur" + SQL.Erreur + "dans la requête : ", SQL.MesErreur)
    				FIN
    				SQLFerme(nom_sql)
     
    			CAS 5 :    //-----------------Numéro Facture
     
    				GR_champ_nv..Visible=Vrai
    				Code_sql =[
    				SELECT 
    				CLIENT.CLIENT_NOM_PRENOM,	
    				FACTURE.FACTURE_REF AS FACTURE_REF,	
    				FACTURE.FACTURE_TOTAL_HT AS FACTURE_TOTAL_HT,	
    				FACTURE.FACTURE_TOTAL_TTC AS FACTURE_TOTAL_TTC,
    				FACTURE.FACTURE_DATE AS FACTURE_DATE
    				FROM 
    				CLIENT,	
    				FACTURE
    				WHERE 
    				FACTURE.FACTURE_ID_CLIENT	=	CLIENT.CLIENT_ID
    				AND FACTURE.FACTURE_REF  =  '%1'
     
    				]
    				Code_sql=ChaîneConstruit(Code_sql,SAI_cherche)
    				SI SQLExec(Code_sql,nom_sql)= Vrai ALORS
    					// Traitement de la requête
    						SQLPremier(nom_sql)		
    					SI 	 SAI_cherche =SQLLitCol(nom_sql,2) ALORS		
    						GR_champ_nv..Visible=Vrai
    						LIB_Réponse..Visible=Faux					
    						SAI_Résidant=SQLLitCol(nom_sql,1)
    						SAI_NumFact=SQLLitCol(nom_sql,2)
    						SAI_TotalHT=SQLLitCol(nom_sql,3)
    						SAI_TotalTTC=SQLLitCol(nom_sql,4)
    						SAI_Date=SQLLitCol(nom_sql,5)
    					SINON
    						GR_champ_nv..Visible=Faux
    						LIB_Réponse..Visible=Vrai
    					FIN
    				SINON
    					// Échec de la requête : affichage d'un message explicatif
    					SQLInfoGene(nom_sql)
    					Erreur("Erreur" + SQL.Erreur + "dans la requête : ", SQL.MesErreur)
    				FIN
    				SQLFerme(nom_sql)
    			AUTRE CAS
     
    		FIN
    	FIN

  12. #12
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 10
    Points : 0
    Points
    0
    Par défaut sql connecte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    //1 : Annuler la Facture
    //2 : Abondonner
    SELON Dialogue("Voullez vous vraiment annuler cette Facture ?")
    	// Annuler la Facture
    	CAS 1
    		Code_sql ,Code_sql2,Code_sql3,Code_sql4 sont des chaînes
    		indice_fac est un entier sur 8 =TABLE_Facture[TABLE_Facture].COL_facture_ID
    		Nom_sql  est une chaîne="REQ_ANNULE"
    		sNom_sql2 est une chaîne ="REQ_GENERATION_AVOIR"
    		sNom_sql3 est une chaîne ="REQ_GENERATION_AVOIR2"
    		sNom_sql4 est une chaîne ="REQ_GENERATION_AVOIR3"
    		SI NumConnexion <> 0 ALORS
    			Code_sql = [
    			UPDATE  FACTURE
    			SET FACTURE.FACTURE_ANNULEE = '%1'
    			WHERE FACTURE.FACTURE_ID = '%2'
    			]
    			Code_sql=ChaîneConstruit(Code_sql,1,indice_fac)
    			SI SQLExec(Code_sql,Nom_sql)= Vrai ALORS
    				// Traitement de la requête
    				Code_sql2=[
    				INSERT INTO FACTURE
    				( FACTURE_REF,FACTURE_TOTAL_HT, FACTURE_TOTAL_TTC,FACTURE_ID_CLIENT,FACTURE_DATE,FACTURE_ANNULEE)
    				VALUES ('%1','%2','%3','%4','%5','%6')
    				]
    				Code_sql2=ChaîneConstruit(Code_sql2,TABLE_Facture[TABLE_Facture].COL_NumFacture+"-A",TABLE_Facture[TABLE_Facture].COL_montantHT,TABLE_Facture[TABLE_Facture].COL_montantttc,TABLE_Facture[TABLE_Facture].COL_Client_ID,TABLE_Facture[TABLE_Facture].COL_Date,0)
    				SI SQLExec(Code_sql2,sNom_sql2)= Vrai ALORS
    					Code_sql3= [
    					SELECT 
    					FACTURE_DETAIL.FACTURE_DETAIL_DESIGNATION,
    					FACTURE_DETAIL.FACTURE_DETAIL_CODE,
    					FACTURE_DETAIL.FACTURE_DETAIL_QTE,
    					FACTURE_DETAIL.FACTURE_DETAIL_PU_HT,
    					FACTURE_DETAIL.FACTURE_DETAIL_PT_TTC,
    					FACTURE_DETAIL.FACTURE_DETAIL_TVA,
    					FACTURE_DETAIL.FACTURE_DETAIL_ID_FACTURE,
    					FACTURE_DETAIL.FACTURE_DETAIL_PU_TTC
    					FROM FACTURE_DETAIL
    					WHERE FACTURE_DETAIL.FACTURE_DETAIL_ID_FACTURE= '%1'
    					]
    					SQLFerme(sNom_sql2)	
    					Code_sql3=ChaîneConstruit(Code_sql3,indice_fac)
    					SI SQLExec(Code_sql3,sNom_sql3)= Vrai ALORS
    					sVer est une chaîne =SQLCol(sNom_sql3,1)
    						Code_sql4=[
    						INSERT INTO  FACTURE_DETAIL
    						( FACTURE_DETAIL.FACTURE_DETAIL_DESIGNATION,
    						FACTURE_DETAIL.FACTURE_DETAIL_CODE,
    						FACTURE_DETAIL.FACTURE_DETAIL_QTE,
    						FACTURE_DETAIL.FACTURE_DETAIL_PU_HT,
    						FACTURE_DETAIL.FACTURE_DETAIL_PT_TTC,
    						FACTURE_DETAIL.FACTURE_DETAIL_TVA,
    						FACTURE_DETAIL.FACTURE_DETAIL_ID_FACTURE,
    						FACTURE_DETAIL.FACTURE_DETAIL_PU_TTC )
    						VALUES('%1','%2','%3','%4','%5','%6','%7','%8')
    						]
    						Code_sql4=ChaîneConstruit(Code_sql4,SQLCol(sNom_sql3,1),SQLCol(sNom_sql3,2),SQLCol(sNom_sql3,3),SQLCol(sNom_sql3,4),SQLCol(sNom_sql3,5),SQLCol(sNom_sql3,6),SQLCol(sNom_sql3,7)+1,SQLCol(sNom_sql3,8))
    						SI SQLExec(Code_sql4,sNom_sql4)= Vrai ALORS
    							// Traitement de la requête
    							ToastAffiche("La Facture a été annulée !"+RC+"Un Avoir a été généré ",toastCourt,cvMilieu,chCentre,BleuFoncé)
    							ExécuteTraitement(FEN_Facture,trtInit)
    						SINON
    							// Échec de la requête : affichage d'un message explicatif
    							SQLInfoGene(sNom_sql4)
    							Erreur("Erreur" + SQL.Erreur + "dans la requête : ", SQL.MesErreur)
    						FIN
    					SINON
    						// Échec de la requête : affichage d'un message explicatif
    						SQLInfoGene(sNom_sql3)
    						Erreur("Erreur" + SQL.Erreur + "dans la requête : ", SQL.MesErreur)
    					FIN
    				SINON
    					// Échec de la requête : affichage d'un message explicatif
    					SQLInfoGene(sNom_sql2)
    					Erreur("Erreur" + SQL.Erreur + "dans la requête : ", SQL.MesErreur)
    				FIN
     
     
    			SINON
    				// Échec de la requête : affichage d'un message explicatif
    				SQLInfoGene(Nom_sql)
    				Erreur("Erreur" + SQL.Erreur + "dans la requête : ", SQL.MesErreur)
    			FIN
    		SINON
    			// La connexion a échoué : affichage d'un message explicatif
    			Erreur(HErreurInfo())
    		FIN
    		SQLFerme(Nom_sql)
    		SQLFerme(sNom_sql2)
    		SQLFerme(sNom_sql3)
    		SQLFerme(sNom_sql4)
     
    	// Abondonner
    	CAS 2
     
    FIN

  13. #13
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 10
    Points : 0
    Points
    0
    Par défaut sql connecte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    TableSupprimeTout(TABLE_detail_etat)
    Detail_sql est une Source de Données
    NomDetail_sql est une chaîne ="REQ_DESGIN"
    Pt_ht ,Tva , Pt_total sont des réels=0
    indice_fac est un entier sur 8 =TABLE_Facture[TABLE_Facture].COL_facture_ID
    SI NumConnexion <> 0 ALORS
    	Detail_sql= [
    	SELECT
    	FACTURE_DETAIL.FACTURE_DETAIL_DESIGNATION,
    	FACTURE_DETAIL.FACTURE_DETAIL_QTE,
    	FACTURE_DETAIL.FACTURE_DETAIL_PU_TTC,
    	FACTURE_DETAIL.FACTURE_DETAIL_PU_HT,
    	FACTURE_DETAIL.FACTURE_DETAIL_TVA,
    	FACTURE_DETAIL.FACTURE_DETAIL_CODE,
    	FACTURE_DETAIL.FACTURE_DETAIL_ID_FACTURE,
    	FACTURE_DETAIL.FACTURE_DETAIL_PT_TTC
    	FROM  FACTURE_DETAIL
    	WHERE FACTURE_DETAIL.FACTURE_DETAIL_ID_FACTURE = '%1'
    	]
    		Detail_sql=ChaîneConstruit(Detail_sql,TABLE_Facture[TABLE_Facture].COL_facture_ID)
    	SI SQLExec(Detail_sql,NomDetail_sql)= Vrai ALORS
    		// Traitement de la requête
    		TANTQUE SQLFetch(NomDetail_sql)=0
    			Pt_ht= SQLCol(NomDetail_sql,4)
    			Tva =  SQLCol(NomDetail_sql,5)
    			SELON Tva 
    				CAS 1: Tva =0
    				CAS 2: Tva = 5.50
    				CAS 3: Tva = 19.60
    				AUTRE CAS					
    			FIN
    			Pt_total=(Pt_ht*Tva )/100 +Pt_ht
    			TableAjouteLigne(TABLE_detail_etat,SQLCol(NomDetail_sql,6),SQLCol(NomDetail_sql,1),SQLCol(NomDetail_sql,2),SQLCol(NomDetail_sql,3),SQLCol(NomDetail_sql,4),Pt_total,SQLCol(NomDetail_sql,5))
    		FIN
    	SINON
    		// Échec de la requête : affichage d'un message explicatif
    		SQLInfoGene(NomDetail_sql)
    		Erreur("Erreur" + SQL.Erreur + "dans la requête : ", SQL.MesErreur)
    	FIN
    SINON
    	// La connexion a échoué : affichage d'un message explicatif
    	Erreur(HErreurInfo())
    FIN
    indice est un entier =0
    Indice_montant est un entier =0
    rMontant_ht est un réel=0 
    nCode est un entier =0
    rTauxTVA est un réel=0
    montantTVA est un réel=0
    POUR TOUTE LIGNE i DE TABLE_detail_etat
    	nCode=TABLE_detail_etat[i].COL_tva
    	 rMontant_ht=TABLE_detail_etat[i].COL_Pu_HT*TABLE_detail_etat[i].COL_QTE
    	SELON nCode
    		CAS 1: rTauxTVA=0
    				montantTVA=(rMontant_ht*rTauxTVA )/100
    			SI TableOccurrence(TABLE_montant_etat)=0 ALORS
    				TableAjouteLigne(TABLE_montant_etat,rMontant_ht,rTauxTVA,montantTVA)
    			SINON
    				indice= TableCherche(TABLE_montant_etat.COL_tauxTVA,0,Vrai)
    				SI indice<> -1 ALORS
    					TABLE_montant_etat[indice].COL_Mnt_HT+=rMontant_ht
    					TABLE_montant_etat[indice].COL_MontantTVA+=montantTVA
    				SINON
    				TableAjouteLigne(TABLE_montant_etat,rMontant_ht,rTauxTVA,montantTVA)
    				FIN
    			FIN
    		CAS 2: rTauxTVA =5.50
    				montantTVA=(rMontant_ht*rTauxTVA )/100
    			SI TableOccurrence(TABLE_montant_etat)=0 ALORS
    				TableAjouteLigne(TABLE_montant_etat,rMontant_ht,rTauxTVA,montantTVA)
    			SINON
    				indice= TableCherche(TABLE_montant_etat.COL_tauxTVA,5.50,Vrai)
    				SI indice<> -1 ALORS
    					TABLE_montant_etat[indice].COL_Mnt_HT+=rMontant_ht
    					TABLE_montant_etat[indice].COL_MontantTVA+=montantTVA
    				SINON
    					TableAjouteLigne(TABLE_montant_etat,rMontant_ht,rTauxTVA,montantTVA)
    				FIN
    			FIN
    		CAS 3: rTauxTVA= 19.60
    				montantTVA=(rMontant_ht*rTauxTVA )/100
    			SI TableOccurrence(TABLE_montant_etat)=0 ALORS
    				TableAjouteLigne(TABLE_montant_etat,rMontant_ht,rTauxTVA,montantTVA)
    			SINON
    				indice= TableCherche(TABLE_montant_etat.COL_tauxTVA,19.60,Vrai)
    				SI indice<> -1 ALORS
    					TABLE_montant_etat[indice].COL_Mnt_HT+=rMontant_ht
    					TABLE_montant_etat[indice].COL_MontantTVA+=montantTVA
    				SINON
    					TableAjouteLigne(TABLE_montant_etat,rMontant_ht,rTauxTVA,montantTVA)
    				FIN
    			FIN
    		AUTRE CAS
     
    	FIN
     
     
    FIN
    SQLFerme(NomDetail_sql)
    // Ouvrir la fenêtre d'aperçu
    iAperçu() 
    // Imprimer l'état basé sur la table "TableClient" 
    iImprimeEtat(ETAT_facturee,indice_fac)

  14. #14
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Encore un peu ?! Y'en manque pas j'espère...

  15. #15
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    Bonjour
    C'est quoi cet étalage de code sans la moindre explication ?
    Ce forum est devenu un GDS ?

Discussions similaires

  1. [WD15] SQLCONNECTE() en Hyperfile C/S
    Par GEOFDEN dans le forum WinDev
    Réponses: 1
    Dernier message: 19/08/2010, 11h25
  2. [Access][Hyperfile]Ouverture base ??
    Par bm dans le forum Autres SGBD
    Réponses: 4
    Dernier message: 06/01/2004, 08h14
  3. [Kylix] sqlconnection + oracle
    Par tibo55555 dans le forum EDI
    Réponses: 1
    Dernier message: 02/09/2002, 09h09
  4. HYPERFILE via VB ?
    Par alx dans le forum HyperFileSQL
    Réponses: 3
    Dernier message: 30/05/2002, 17h33
  5. [HyperFile] 2 questions de débutant
    Par khan dans le forum HyperFileSQL
    Réponses: 2
    Dernier message: 29/04/2002, 23h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo