begin process at 2012 02 14 01:13:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Langages dérivés

 > 

VBA

 > 

Longueur maximale string


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Longueur maximale string

mardi 3 octobre 2006 à 09:54:35 | Longueur maximale string

blanchoc

Bonjour,

j'ai un probleme avec une de mes fonctions vba: je veux qu'elle me renvoie une chaine de caracteres, et tout se passe bien sauf quand la chaine depasse une certaine longueur, auquel cas la fonction ne me renvoie que les 292 premiers caracteres. J'imagine que c'est du a une limitation du type de données string. J'ai lu qu'il existait 2 types de string, un a longueur fixe et l'autre variable. Y a-t'il une difference dans la facon de déclarer? Comment contourner le probleme?

Merci!
mardi 3 octobre 2006 à 10:07:55 | Re : Longueur maximale string

jrivet

Membre Club

Salut,

Si je ne me trompe pas

Dim StrFixe As String * 5  'Déclaration d'une chaine de longueur fixe 5 Caractere
Dim StrVar As String  'Déclaration d'une chiane de longueur variable.
 


Coloration syntaxique automatique [AFCK]
       

Je pense que si tu peux nous donner la fonction qui cloche ainsi que des exemples ou elle "foire" cela serait pas mal.
@+,  1/1 Ju£i€n1/1

mardi 3 octobre 2006 à 10:17:38 | Re : Longueur maximale string

casy

Membre Club
Je confirme Julien


Blanchoc, le bout de code (avec les déclarations ) qui pose problème nous aiderais à comprendre un peu mieux je pense.


---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #
mardi 3 octobre 2006 à 10:21:45 | Re : Longueur maximale string

blanchoc

c'est une fonction pour ecrire une requete sql



Function creerChaineConnexion2(table1, colonnes1, table2, colonnes2, whereCol1, _
whereOp1, whereVal1, whereCol2, whereOp2, whereVal2, joinCol1, joinCol2, orderbyCol) As String

Dim selectCmd, fromCmd, whereCmd1, whereCmd2, joinCmd, orderbyCmd As String

If (table1 = "") Or (colonnes1 = "") Then
    MsgBox "Votre requete est incorrecte,veuillez selectionner au moins un fichier et une colonne!"
Else
    selectCmd = "SELECT [" & table1 & "$]." & colonnes1 & " "
    fromCmd = "FROM [" & table1 & "$] "

    If (whereCol1 <> "") And (whereOp1 <> "") And (whereVal1 <> "") Then
    whereCmd1 = "WHERE [" & table1 & "$]." & whereCol1 & " " & whereOp1 & " '" & whereVal1 & "' "
    End If
   
    If (whereCol2 <> "") And (whereOp2 <> "") And (whereVal2 <> "") Then
    whereCmd2 = "AND [" & table2 & "$]." & whereCol2 & " " & whereOp2 & " '" & whereVal2 & "' "
    End If
   
    If (joinCol1 <> "") And (joinCol2 <> "") Then
    joinCmd = "INNER JOIN [" & table2 & "$] ON [" & table1 & "$]." & joinCol1 & "=[" & table2 & "$]." & joinCol2 & " "
    End If
   
    If (orderbyCol <> "") Then
    orderbyCmd = "ORDER BY " & orderbyCol
    End If
   
    creerChaineConnexion2 = selectCmd & fromCmd & joinCmd & whereCmd1 & whereCmd2 & orderbyCmd

End If

End Function



toutes mes chaines intermediaires contiennent bien ce qu'il faut, mais plus la concatenation.
voila ce que j'ai comme resultat de la fonction:

"SELECT [BDD_RegionOrganismes$].ENTETE_REGION_ORGANISMES,ENTETE_PAYS FROM [BDD_RegionOrganismes$] INNER JOIN [BDD_PaysISO$] ON [BDD_RegionOrganismes$].ENTETE_PAYS=[BDD_PaysISO$].ENTETE_PAYS WHERE [BDD_RegionOrganismes$].ENTETE_REGION_ORGANISMES = 'AEL'"

alors que je devrai avoir:

"SELECT [BDD_RegionOrganismes$].ENTETE_REGION_ORGANISMES,ENTETE_PAYS FROM [BDD_RegionOrganismes$] INNER JOIN [BDD_PaysISO$] ON [BDD_RegionOrganismes$].ENTETE_PAYS=[BDD_PaysISO$].ENTETE_PAYS WHERE [BDD_RegionOrganismes$].ENTETE_REGION_ORGANISMES = 'AELE' AND [BDD_PaysISO$].ENTETE_PAYS = 'CHE' "

Merci

mardi 3 octobre 2006 à 10:26:25 | Re : Longueur maximale string

casy

Membre Club

Alors avant même d'analyser ton code, commence par ceci

Dim selectCmd As String, fromCmd As String, whereCmd1 As String, whereCmd2 As String, joinCmd As String, orderbyCmd As String

---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #
mardi 3 octobre 2006 à 10:33:35 | Re : Longueur maximale string

casy

Membre Club

Même punition pour la décalration de la fonction :
Function creerChaineConnexion2(table1, colonnes1, table2, colonnes2, whereCol1, _
whereOp1, whereVal1, whereCol2, whereOp2, whereVal2, joinCol1, joinCol2, orderbyCol) As String

table1, colonnes1, ... sont de quels types ??? c'est pas préciser.

Il faut toujours typer ses avriables pour ne pas avoir de surprises par la suite.

---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #
mardi 3 octobre 2006 à 10:35:21 | Re : Longueur maximale string

blanchoc

je viens de tester, et pas de changement, ma chaine est toujours tronquee.
mardi 3 octobre 2006 à 10:37:20 | Re : Longueur maximale string

jrivet

Membre Club
Re,
casy a raison. Ensuite est ce que cette fonction est appelée par tes soins avec des valeurs en dur du style

creerChaineConnexion2("BDD_RegionOrganismes", "ENTETE_REGION_ORGANISMES, ENTETE_PAYS ", "BDD_PaysISO", "", "ENTETE_REGION_ORGANISMES", "=", "'AELE'", "ENTETE_PAYS", "=", "'CHE'", "ENTETE_PAYS", "ENTETE_PAYS", "")

Ou bien alors elle est appele a l'aide de valeur su style
Call creerChaineConnexion2(table1, colonnes1, table2, colonnes2, whereCol1, _
whereOp1, whereVal1, whereCol2, whereOp2, whereVal2, joinCol1, joinCol2, orderbyCol)

Car dans ce dernier cas, c'est peu etre les valeurs des variables qui ne sont pas bonnes.

@+,  1/1 Ju£i€n1/1

mardi 3 octobre 2006 à 10:42:34 | Re : Longueur maximale string

blanchoc

table1, colonnes1, table2, colonnes2, whereCol1, _
whereOp1, whereVal1, whereCol2, whereOp2, whereVal2, joinCol1, joinCol2, orderbyCol

sont des variables globales string, j'ai verifié elles contiennent les bonnes valeurs lors de l'entree dans la fonction. j'ai essayé de mettre string partout pas de changement non plus.
mardi 3 octobre 2006 à 10:46:41 | Re : Longueur maximale string

jrivet

Membre Club

Re,

Essaie de mettre

Function creerChaineConnexion2(table1, colonnes1, table2, colonnes2, whereCol1, _ 
whereOp1, whereVal1, whereCol2, whereOp2, whereVal2, joinCol1, joinCol2, orderbyCol) As String 
'[...]

    creerChaineConnexion2 = selectCmd & fromCmd & joinCmd & whereCmd1 & whereCmd2 & orderbyCmd 
      Msgbox creerChaineConnexion2 
End If 

End Function 

Comme ca on verra deja si avant de sortir de la fonction creerChaineConnexion2 contient bien ce que tu souhaites

@+,  1/1 Ju£i€n1/1


1 2

Cette discussion est classée dans : string, probleme, renvoie, longueur, maximale


Répondre à ce message

Sujets en rapport avec ce message

Comment connaitre la longueur d'un string ? [ par zebiker ] Je cherche comment on peut savoir la logueur d'un string (nombre de caractères)Merci d'avance... Erreur 59 longueur de chaine incorrecte [ par pearl240582 ] =>pardon j'ai pas été tres explicittype Client nom as string*10 (il me semble que le "*10" declare le nombre de caractere necessaire je suis pa Probleme : operation string en VBS [ par primalord2 ] Est il possible de faire des operations sur les chaines de caracteres en vbs ?Exemple : isoler le second caractere d'une chaine---> isoler "z" dans la Probleme avec un raccourci [ par Sipadan ] Bonjour,Mon appli doit créer un raccourci dans le menu démarrer.Quand je teste sous vb6 le raccourci est créé, mais une fois mon appli compilée, elle Probleme de raccourci [ par Sipadan ] Bonjour,Mon appli doit créer un raccourci dans le menu démarrer.Quand je teste sous vb6 le raccourci est créé, mais une fois mon appli compilée, elle Probleme de format de string (slashs) [ par ThePsychowizard ] Voilà.J'ai une string du type 123/456/789.Le fichier automatiquement enregistré utilise cette string comme nom (et évidemment il a du mal avec les /.. Comment faire un renvoie de ligne dans une concaténation de string [ par Vass ] Voici mon code : Me.AnomalieListe.Value = TempAnomalie + + " LE ENTER DEVRAIS ÊTRE ICI - " + Me.Anomalie.ValuePouvez-vous m'aider ?Je cherche le moye Probleme de Hash MD5 [ par Voodoo ] Voila, j'ai fait un programme de "Hashage" MD5 et aussi d'autres mais le probleme est que lorsque je passe mon texte dans la fonction de hash, il faut petit probleme urgent [ par maryouma ] Salut je veux ouvrir un fichier matlab en mode exécution à partir d'une feuille vb pour cela j'ai ecrit le code suivant : Private Declare Function she Variables String > 64Ko [ par Sylvainlefou ] J'ai vu dans l'aide de VB qu'il y avait 2 type de string : - Longueur fixe ( - Longueur Variable (Quelles sont les differences entre ces 2


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,663 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales