Page 1 sur 1

stocker des donnée sur Access avec VBScript de indusoft web studio

Posté : 22 juil. 2020, 09:23
par hocine
Bonjour a tous

je viens de commander à travailler avec un logiciel de supervision Indusoft Web Studio, et j'aimerai faire une sauvegarde automatique des données d'essai dans une base de donnée Microsoft Access, pour cela im faut un programme sur VBScript afin de déclarer la création de ce fichier et enregistrement automatique des données.
merci pour votre aide.

Re: stocker des donnée sur Access avec VBScript de indusoft web studio

Posté : 22 juil. 2020, 10:28
par itasoft
Slts,
Difficile d’expliquer ici, disons que si tu as Office Access dans l’aide en ligne c’est bien expliqué comment créer une base de données avec des exemples en VB. A moins que quelqu’un as une application de base standard toute prête à te refiler.
(Moi je n'ai que des applications Spécifiques de grandes tailles)

Re: stocker des donnée sur Access avec VBScript de indusoft web studio

Posté : 22 juil. 2020, 10:34
par hocine
merci pour votre repense, le truque c'est que la base de donnée sur Access est prête mais mon problème c'est comment je vais connecter Indusoft a cette base de donnée afin de d'enregistrer les donnée d'essai.

Re: stocker des donnée sur Access avec VBScript de indusoft web studio

Posté : 22 juil. 2020, 10:43
par itasoft
slts,
la base de données n'est pas sur le même PC que la supervision ??

Re: stocker des donnée sur Access avec VBScript de indusoft web studio

Posté : 22 juil. 2020, 10:47
par hocine
si, je travail sur un réseau directement l’emplacement de la base de donnée est le même que le projet de supervision

Re: stocker des donnée sur Access avec VBScript de indusoft web studio

Posté : 22 juil. 2020, 10:49
par hocine

Code : Tout sélectionner

'ECRITURE DE LA FICHE PRODUIT
'-------------------------------------------------------------------------------
' Si le test du frein est concluant, un fichier "Fiche Produit.txt" est généré
' Déclenchement : ???????????
' Les fichiers se trouveront dans le répertoire C:\ESSAI\
'-------------------------------------------------------------------------------
Public Function Write_Product_file ()
	Dim sFileName
	Const repertoire  = "R:\In\Essais\"			'"C:\ESSAI\"
	Dim longtxt
	Dim fin_de_ligne 
	Dim separateur 
	Dim qte_assemble 
	Dim DejaCompte
	'---------------------------------------------------------
	' Numéro de série
	'---------------------------------------------------------
	Call calcul_Numero_de_serie
		'---------------------------------------------------------
	' Nom du fichier
	'---------------------------------------------------------
	sFileName = repertoire  + CStr( $num_serie_complet) + ".csv"

	'---------------------------------------------------------
	' Test si le fichier existe
	'---------------------------------------------------------
		If ($FindFile(sFileName)=1) Then
			$FileDelete (sFileName)
			DejaCompte = 1
			'MsgBox("Fichier existant !")
			'Exit Function
		End If
		'---------------------------------------------------------
	' Nbre FFB fait par taille dans la journée / FV le 24/05/2017
	'---------------------------------------------------------
	If DejaCompte =0 Then
			If $FicheTest.Taille_FFB = 1 Then
			$NbreFFB1Jour = $NbreFFB1Jour + 1
			ElseIf $FicheTest.Taille_FFB = 2 Then
			$NbreFFB2Jour = $NbreFFB2Jour + 1
			ElseIf $FicheTest.Taille_FFB = 3 Then
			$NbreFFB3Jour = $NbreFFB3Jour + 1
			ElseIf $FicheTest.Taille_FFB = 4 Then
			$NbreFFB4Jour = $NbreFFB4Jour + 1
			ElseIf $FicheTest.Taille_FFB = 5 Then
			$NbreFFB5Jour = $NbreFFB5Jour + 1
			Else
			End If
	Else
	DejaCompte=0
	End If
		
	'---------------------------------------------------------
	' Ecriture des infos
	'---------------------------------------------------------
	fin_de_ligne=0				'1=retour chariot
	longtxt = -1					'position ou ecrire (nb de caracteres. -1 pour ecrire a la fin du document
	separateur = " ; "		'pourquoi pas

'Date / 
	$FileWriteMessage ( sFileName , 0 ,  CStr(Date) + separateur  , fin_de_ligne)
'Heure / 
	$FileWriteMessage ( sFileName , longtxt ,  CStr(Time) + separateur  , fin_de_ligne)
'N° de série du frein = 'num_serie_FFB	
		$FileWriteMessage ( sFileName, longtxt,  $num_serie_complet & separateur , fin_de_ligne)
'N' de BF ou OF 
	$FileWriteMessage ( sFileName, longtxt,  CStr($FicheTest.No_OF) & separateur , fin_de_ligne)			'OF ?
'code du frein = 'code FFB
	$FileWriteMessage ( sFileName, longtxt,  CStr($GetPrivateProfileString("BF", "FFBNU", "0", $GetAppPath() + "BF\" + CStr($FicheTest.No_OF) + ".ini") ) & separateur , fin_de_ligne)
'Désignation = 'Désignation FFB
	$FileWriteMessage ( sFileName, longtxt,  CStr($GetPrivateProfileString("BF", "FFBDS1", "0", $GetAppPath() + "BF\" + CStr($FicheTest.No_OF) + ".ini") ) & separateur , fin_de_ligne)

'code informatique Cullase / 
	$FileWriteMessage ( sFileName, longtxt,  CStr($GetPrivateProfileString("CULASSE", "FFBCST", "0", $GetAppPath() + "BF\" + CStr($FicheTest.No_OF) + ".ini") ) & separateur , fin_de_ligne)
'Taille du frein / 
	$FileWriteMessage ( sFileName, longtxt,  CStr($FicheTest.Taille_FFB ) & separateur , fin_de_ligne)
'Résistance / 
	$FileWriteMessage ( sFileName, longtxt,  CStr($FicheTest.R_bobinage) & separateur , fin_de_ligne)
'tension (v) = 'Tension
	$FileWriteMessage ( sFileName, longtxt,  CStr($FicheTest.Tension ) & separateur , fin_de_ligne)
'Nb de ressort /
	$FileWriteMessage ( sFileName, longtxt,  CStr($FicheTest.Nb_ressort) & separateur , fin_de_ligne)
'Etat du rodage /
	$FileWriteMessage ( sFileName, longtxt,  CStr($FicheTest.Rodage_OK) & separateur , fin_de_ligne)
'Temps d'appel /
	$FileWriteMessage ( sFileName, longtxt,  CStr($FicheTest.Temps_rép_activation ) & separateur , fin_de_ligne)
''Temps de retombé /
	$FileWriteMessage ( sFileName, longtxt,  CStr($FicheTest.Temps_rép_desactivation) & separateur , fin_de_ligne)
'Niveau sonore /
	$FileWriteMessage ( sFileName, longtxt,  CStr($FicheTest.Niveau_sonore ) & separateur , fin_de_ligne)

'Couple théorique statique = ''Couple théo statique
	$FileWriteMessage ( sFileName, longtxt,  CStr($FicheTest.Couple_théo_static) & separateur , fin_de_ligne)
'Couple statique Moyen = 'Couple_Stat_Moyen
	$FileWriteMessage ( sFileName, longtxt,  CStr($FicheTest.Couple_Stat_Moyen) & separateur , fin_de_ligne)
'Couple théorique statique mini / 
	$FileWriteMessage ( sFileName, longtxt,  CStr($Couple_Théo_Stat_Mini) & separateur , fin_de_ligne)
'Couple statique Mini = 'Couple_Stat_Mini 
	$FileWriteMessage ( sFileName, longtxt,  CStr($FicheTest.Couple_Stat_Mini ) & separateur , fin_de_ligne)
'Couple théorique statique maxi / 
	$FileWriteMessage ( sFileName, longtxt,  CStr($Couple_Théo_Stat_Maxi) & separateur , fin_de_ligne)
'Couple statique Maxi  = 'Couple_Stat_Maxi 
	$FileWriteMessage ( sFileName, longtxt,  CStr($FicheTest.Couple_Stat_Maxi ) & separateur , fin_de_ligne)


'Couple_théo_DYN 
	$FileWriteMessage ( sFileName, longtxt,  CStr($FicheTest.Couple_théo_DYN ) & separateur , fin_de_ligne)
'Couple dynamique moyen = Couple_DYN_Moyen 
	$FileWriteMessage ( sFileName, longtxt,  CStr($FicheTest.Couple_DYN_Moyen ) & separateur , fin_de_ligne)
'Couple théorique dynamique Mini / 
	$FileWriteMessage ( sFileName, longtxt,  CStr($Couple_Théo_Dyn_Mini) & separateur , fin_de_ligne)
'Couple dynamique Mini = Couple_DYN_Mini 
	$FileWriteMessage ( sFileName, longtxt,  CStr($FicheTest.Couple_DYN_Mini ) & separateur , fin_de_ligne)
'Couple théorique dynamique Maxi / 
	$FileWriteMessage ( sFileName, longtxt,  CStr($Couple_Théo_Dyn_Maxi) & separateur , fin_de_ligne)
'Couple dynamique Maxi ='Couple_DYN_Maxi 
	$FileWriteMessage ( sFileName, longtxt,  CStr($FicheTest.Couple_DYN_Maxi) & separateur , fin_de_ligne)


'Résultat d'essais / 
	If $FicheTest.Essai_OK=0 Then 		$FileWriteMessage ( sFileName, longtxt, "ERROR" & separateur , fin_de_ligne)
	If $FicheTest.Essai_OK=1 Then 		$FileWriteMessage ( sFileName, longtxt, "OK" & separateur , fin_de_ligne)
	If $FicheTest.Essai_OK=2 Then 		$FileWriteMessage ( sFileName, longtxt, "NOK" & separateur , fin_de_ligne)
'N' Lot du disque = 'Référence disque
	$FileWriteMessage ( sFileName, longtxt,  CStr($FicheTest_lot_disque) & separateur , fin_de_ligne)
'Nombre_de_cycle_de_rodage / 
	$FileWriteMessage ( sFileName, longtxt,  CStr($FicheTest.Nb_cycle_rodage) & separateur , fin_de_ligne)
'T°C ambiante		
	$FileWriteMessage ( sFileName, longtxt,  CStr($FicheTest.temp_ambiante) & separateur , fin_de_ligne)


'STANDARD ou ATEX
	$FileWriteMessage ( sFileName, longtxt,  CStr(		$GetPrivateProfileString("BF", "TYPE_ETIQUETTE", "", 		$GetAppPath() + "BF\" &  $FicheTest.No_OF & ".ini")) & separateur , fin_de_ligne)

'N° de la fiche
	'$FileWriteMessage ( sFileName, longtxt,  CStr($FicheTest.NoEtiquette) & separateur , fin_de_ligne)
	

End Function

Re: stocker des donnée sur Access avec VBScript de indusoft web studio

Posté : 22 juil. 2020, 10:51
par hocine
le code si dessus c'est le code pour sauvegarder les résultats dans des fichier texte et moi j'essai d'enlever sa et les stocker directement dans une base de donnée au lieu de passé par les fichier CSV

Re: stocker des donnée sur Access avec VBScript de indusoft web studio

Posté : 22 juil. 2020, 10:56
par itasoft
slts,
chercher la commande Access qui importe ce fichier *.CSV directement dans la base de données

Re: stocker des donnée sur Access avec VBScript de indusoft web studio

Posté : 22 juil. 2020, 11:02
par hocine
justement je veux supprimée complémente la création de ces fichier csv et la remplacer par un fichier base de donnée ".accdb" et je cherche un programme ou une solution pour ce faire

Re: stocker des donnée sur Access avec VBScript de indusoft web studio

Posté : 22 juil. 2020, 11:35
par djé
Regarde dans l'aide d'indusoft, il y a certainement un objet basé de données qui te permettra d'enregistrer des variables dans le système de ton choix (access, sql) avec simplement quelque paramètres à renseigner.
Et ce, sans passer par du script.