> Tous les forums > Forum Autres langages
 [VBScript] Recordset Access et champ de type Mémo
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
mchu
  Posté le 13/10/2005 @ 13:55 
Aller en bas de la page 
Nouvelle astucienne
Bonjour, J'ai un souci avec un VBScript, je ne sais pas si vous avez connu ce problème déjà : dans mon script, avec une connexion à ma base Access, je récupère un recordset d"une table. cette table comporte un champ de type Memo --> problème : je n'arrive pas à récupérer les données de ce champ aurez-vous une solution à me proposer ?
Publicité
breizhbugs
 Posté le 13/10/2005 à 18:42 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien
Salut, si tu donnais ton code, peut etre que les experts VBScripts pourrait te dire ce qui ne va pas. Le mieux etant de trouver sur le web un exemple qui recupere des données meme! D'ailleurs il me semble que memo sous acces, c'est "string" tout simplement.
mchu
 Posté le 14/10/2005 à 11:42 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvelle astucienne
Voici les scripts en question : Quand un champ du recordset est de type Mémo, je n'arrive pas à récupérer ses données. Le rst.fields(idxFld qui va bien) est égal à vide. Voila si ca peut vous aider à me donner un début de solution. Merci. Script qui récupère des données d'une base Access pour écrire dans une base SQL Server : --- Install.wsf --- <!-- <?XML versio="1.0" standalone="yes" ?> --> <package> <job id="export"><?job debug="true" ?> <runtime> <description>Export de données vers SQL Server</description> <example>Exemple : Install.wsf //job:export</example> <usage></usage> </runtime> <script language="VBScript" src="parametrage.vbs"/> <script language="VBScript" src="export.vbs"/> <script language="VBScript"> WScript.Echo "Fin de l'exportation." WScript.Quit </script> </job> </package> --- parametrage.vbs --- Const strTOOL_NAME = "RIP" ' Nom de l'outil Const cnnStringSQLServer = "driver={SQL Server};server=GO-9J2451J;uid=RIPadmin;password=RIPadmin;database=RIP" Const cnnStringAccess = "Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\Documents and Settings\Mon nom\Mes documents\GS\RIP\var\data\RIP_STA.mdb" --- export.vbs --- Dim cnnAccess Dim cnnSQLServer Set cnnSQLServer = CreateObject("ADODB.Connection") cnnSQLServer.ConnectionString = cnnStringSQLServer cnnSQLServer.Open Set cnnAccess = CreateObject("ADODB.Connection") cnnAccess.ConnectionString = cnnStringAccess cnnAccess.Open Dim rst Dim nbFld Dim idxFld Dim strColonne Dim cmd Dim insQuery Dim datYear Dim datMonth Dim datDay Dim datHour Dim datMinute Dim datSecond set rst = CreateObject("ADODB.Recordset") set cmd = CreateObject("ADODB.Command") ' Ouverture du Recordset rst.Open "SELECT * FROM EVENEMENTS", cnnAccess rst.movefirst While Not rst.Eof nbFld = rst.fields.count strColonne = "" for idxFld = 0 to nbFld - 1 if idxFld = 0 then strColonne = rst.fields(idxFld).name else strColonne = strColonne & ", " & rst.fields(idxFld).name end if next rst.movefirst while not rst.eof insQuery = "" insQuery = "INSERT INTO EVENEMENTS (" & strColonne & ") values (" for idxFld = 0 to nbFld - 1 if idxFld = 0 then select case rst.fields(idxFld).type case 202 insQuery = insQuery & "'" & sqlChaine(rst.fields(idxFld)) & "'" end select else select case rst.fields(idxFld).type case 202 insQuery = insQuery & ", '" & sqlChaine(rst.fields(idxFld)) & "'" case 135 if rst.fields(idxFld).name = "INS_DATE" or rst.fields(idxFld).name = "DEL_DATE" then datYear = Year(rst.fields(idxFld)) datMonth = Month(rst.fields(idxFld)) if datMonth < 10 then datMonth = "0" & datMonth datDay = Day(rst.fields(idxFld)) if datDay < 10 then datDay = "0" & datDay datHour = Hour(rst.fields(idxFld)) if datHour < 10 then datHour = "0" & datHour datMinute = Minute(rst.fields(idxFld)) if datMinute < 10 then datMinute = "0" & datMinute datSecond = Second(rst.fields(idxFld)) if datSecond < 10 then datSecond = "0" & datSecond insQuery = insQuery & ", '" & datYear & datMonth & datDay & " " & datHour & ":" & datMinute & ":" & datSecond & "'" else datYear = Year(rst.fields(idxFld)) datMonth = Month(rst.fields(idxFld)) if datMonth < 10 then datMonth = "0" & datMonth datDay = Day(rst.fields(idxFld)) if datDay < 10 then datDay = "0" & datDay insQuery = insQuery & ", '" & datYear & datMonth & datDay & "'" end if case 11 if rst.fields(idxFld) = "Vrai" then insQuery = insQuery & ", 1" else insQuery = insQuery & ", 0" end if case 3 insQuery = insQuery & ", " & rst.fields(idxFld) end select end if next insQuery = insQuery & ")" cmd.ActiveConnection = cnnSQLServer cmd.CommandText = insQuery cmd.Execute rst.movenext wend ' Fermeture du Recordset rst.Close set rst = Nothing cnnAccess.Close cnnSQLServer.Close Set cnnSQLServer = Nothing Set cnnAccess = Nothing Function sqlChaine(strChaine) Dim strStart Dim strEnd ' sqlChaine = "" ' Doubler les apostrophes (simples quotes) strStart = 0 Do strEnd = InStr(strStart + 1, strChaine, "'", vbTextCompare) If IsNull(strEnd) Then Exit Do If strEnd = 0 Then sqlChaine = sqlChaine & Right(strChaine, Len(strChaine) - strStart) Exit Do End If sqlChaine = sqlChaine & Mid(strChaine, strStart + 1, strEnd - strStart) & "'" strStart = strEnd Loop End Function rst.fields(idxFld).type de valeur 203 pour un champ de type Memo mais rst.fields(idxFld) est désespéremment vide alors qu'il y a plein de valeurs dans ma base comment faire ?
breizhbugs
 Posté le 14/10/2005 à 13:40 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien
SAlut, Bon je m'y connais pas trp en VB alors j'espere ne pas dire de betises... 1- tu dis que le type est 203, mais tu n'as aucun select... case 203: 2- De plus tu as 2 boucles "while" et tu n'as que un seul "wend" 3- Enfin dans la section des dates tu as une palanquées de "if" qui n'ont pas de "end if"

Modifié par breizhbugs le 14/10/2005 13:57
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
92,99 €Disque dur externe portable Western Digital Elements USB 3.0 4 To à 92,99 €
Valable jusqu'au 01 Mars

Amazon propose actuellement le disque dur externe portable Western Digital Elements USB 3.0 4 To à 92,99 € livré. On le trouve ailleurs à partir de 115 €. Ce disque dur qui tient dans la main est silencieux, ne chauffe pas et dispose d'une connectique USB 3.0 qui vous offrira des transferts rapides. Il est compatible USB 2.0. Une très bonne affaire.


> Voir l'offre
59 €SSD Samsung 870 EVO 500 Go à 59 €
Valable jusqu'au 02 Mars

Amazon fait une promotion sur le SSD Samsung 870 EVO 1 To à 59 € livré gratuitement. On le trouve ailleurs à plus de 75 €. Ce SSD offre des vitesses de 560 Mo/s en lecture et 530 Mo/s en écriture. Il est garanti 5 ans.


> Voir l'offre
56,42 €Switch D-Link Gigabit 8 ports avec 4 ports PoE à 56,42 €
Valable jusqu'au 01 Mars

Amazon fait une promotion sur le switch D-Link Gigabit DGS-1008P 8 ports 10/100/1000 qui passe à 56,42 € livré gratuitement. On le trouve habituellement à plus de 73 €. 4 ports PoE permettent de connecter et d’alimenter directement des périphériques comme des caméras IP, des téléphones IP et des points d’accès Wifi.


> Voir l'offre

Sujets relatifs
requête sql pour récupérer le type d'un champ
Access VBA : Type Node dans un Treeview
VBScript et erreur Access à récupérer
VBscript +BD Access +Excel
Tutoriel access
vbscript accès à la Base de registre (clé Autorun)
Problème Access avec 2 inner join
Access 2010 filtre sur formulaire
comparaison d'un jpassword a un champ de ma table
code vb permettant d'enregistrer en access
Plus de sujets relatifs à [VBScript] Recordset Access et champ de type Mémo
 > Tous les forums > Forum Autres langages