Dans ce cas, on ne traite que les cas où Suite ne commence pas par la date de prospection :
Code:
1
2
3 UPDATE [Fiches Clients] SET Suite = [Date Prospection] & Char(10) & Suite WHERE Suite NOT LIKE [Date Prospection] & "%"
Version imprimable
Dans ce cas, on ne traite que les cas où Suite ne commence pas par la date de prospection :
Code:
1
2
3 UPDATE [Fiches Clients] SET Suite = [Date Prospection] & Char(10) & Suite WHERE Suite NOT LIKE [Date Prospection] & "%"
Vu le nombre d'erreurs de frappe (je suis en train d'halluciner :aie:), je préfère corriger le tout à la main. J'ai du remplacer (avec rechercher / remplacer, mais quand même) les séparateurs dans suite, car le deuxième utilisateur avait mis des ; au lieu de virgules, et d'autres erreurs.
Merci quand même
Bonsoir,
Après pas mal de retouches pour uniformiser le tout, il me reste encore un problème : le champ suites (mémo), lorsqu'il est splitté, envoie un résultat à virgule (je pense à cause des slashes) dans le champ de destination (lui aussi en mémo). Est-ce un soucis dans le code VB ?
J'ai cherché différentes solutions, je ne vois pas. J'imagine que c'est un soucis de type de donnée ?
Bonne soirée
euh... tu illustrerais par un exemple ?
Il m'affiche en fait des nombres du style :
-0,15
-0,733
-0,20
Je ne sais pas de quoi cela vient, je pense d'un type de donnée non adapté, mais je cherche encore où.
Voici la procédure VB actuelle :
Code:
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 Sub test() Dim Conn As ADODB.Connection Dim RS As New ADODB.Recordset Dim TabComm As Variant, TabVisites As Variant, i As Integer Dim NumOrdre As Integer, Visite As String, Comm As String Dim SQL As String Set Conn = CurrentProject.Connection RS.Open "SELECT [N° d'ordre], Commentaires, Suites FROM [Fiches Clients]", Conn, adOpenForwardOnly, adLockReadOnly While Not RS.EOF NumOrdre = RS("N° d'ordre").Value TabVisites = Split(RS("Suites").Value, ", ") TabComm = Split(RS("Commentaires").Value, vbLf) For i = LBound(TabVisites) To UBound(TabVisites) Visite = TabVisites(i) ' attention aux formats de date Comm = "'" & Replace(TabComm(i), "'", "''") & "'" SQL = "INSERT INTO Visites ([N° d'ordre], DateVisite, CommVisite) " SQL = SQL & "VALUES (" & NumOrdre & ", " & Visite & ", " & Comm & ") " Conn.Execute SQL Next RS.MoveNext Wend End Sub
et il devrait te donner quoi ?Citation:
Il m'affiche en fait des nombres du style :
-0,15
-0,733
-0,20
Bah des dates ^^'
Sous la forme 25/12/06, 01/01/07 toutes sous la même forme, provenant du champ suites(mémo) de la table fiches clients,
c'est normal. Si tu écris 25/12/06 tel quel dans une requête, cela veut dire 25 divisé par 12 divisé par 6, soit 0,347... D'où ma remarque précédente sur le format #mm/jj/aaaa# que tu dois obtenir.
Code:
1
2
3
4
5
6
7
8
9
10 ... Visite = DateSQL(TabVisites(i)) ... Function DateSQL(DateTxt As String) As String Dim Tab as Variant Tab = Split(DateTxt, "/") DateSQL = "#" & Tab(1) & "/" & Tab(0) & "/" & Tab(2) & "#" End Function
Bonjour,
j'ai un ennui : j'ai corrigé les différentes erreurs sur ma base (il manquait parfois des visites, ou des dates), mais lors de la création des différentes fiches, il y a eu des plantages, et il manque dans la table [Fiches Clients] certains numéros d'ordre. Le soucis, c'est que, même en rajoutant les lignes manquantes en SQL, il bloque dessus, et en essayant le débogage, je m'aperçois qu'il ne reconnait toujours pas le N° d'ordre manquant (il me dit que la ligne du N° d'ordre vaut NULL).
Auriez-vous la solution ?
Bonjour,
je bloque toujours sur le même problème, si quelqu'un avait une solution...
Merci
C'est à toi de décider ce qu'il faut faire dans ce cas-là ! Si par exemple tu veux remplacer les numéros manquant par un zéro, cela te fait :
Code:
1
2
3
4
5 If IsNull(RS("N° d'ordre").Value) Then NumOrdre = 0 Else NumOrdre = RS("N° d'ordre").Value End If
Bonsoir,
Il plantait encore avec ce système. j'ai simplement rajouté dans ma requete : WHERE [N° d'ordre]>0, du coup, ça a fonctionné.
Merci à vous deux pour votre aide,
bonne soirée
dans ce cas, utilise plutôt [N° d'ordre] IS NOT NULL, c'est plus explicite.