Bonjour le forum
J'utilise une macro Excel pour exécuter des requêtes à partir d'une source OBDC
Voir début du code ci-dessous:
Sub ServeursPSERIESOp()
Sheets("Requête").Select
Sheets("Requête").Range("B2:S100").Delete
With Sheets("Requête").QueryTables.Add(Connection:=Array(Array( _
"ODBC;DSN=GDB SF;UID=GDBuser;PWD=GDB;APP=Microsoft Office XP;WSID=SES0TE5I;DATABASE=GDBDPISF;AutoTranslate=No;Regional=Yes;UseProcFor" _
), Array("Prepare=0;QuotedId=No;AnsiNPW=No")), Destination:=Range("B2"))
.CommandText = Array( _
"SELECT amModel.FullName, amAsset.SerialNo, amAsset.Status, amPortfolio.FullName, amLocation.FullName FROM GDBDPISF.dbo.amAsset amAsset, GDBDPISF.dbo.amLocation amLocation, GDBDPISF.dbo.amModel amModel, G" _
, _
"DBDPISF.dbo.amPortfolio amPortfolio WHERE amAsset.lAstId = amPortfolio.lAstId AND amAsset.lModelId = amModel.lModelId AND amLocation.lLocaId = amPortfolio.lLocaId AND amModel.lModelId = amPortfolio.l" _
, _
"ModelId AND ((amModel.FullName='/Informati" _
, _
"que distribuée/Unix/Serveurs (discrets) /IBM/05_IBM Serveur P660/') AND (amAsset.Status='Opérationnel') OR (amModel.FullName='/Informatique distribuée/Unix/Serveurs (discrets) /IBM/05_IBM Serveur P550/') AND " _
, "(amAsset.Status='Opérationnel')OR (amModel.FullName='/Informatique distribuée/Unix/Serveurs (discrets) /IBM/05_IBM serie p610/') AND " _
, "(amAsset.Status='Opérationnel')OR (amModel.FullName='/Informatique distribuée/Unix/Serveurs (discrets) /IBM/05_IBM Serveur P570 9117-570/') AND " _
, "(amAsset.Status='Opérationnel')OR (amModel.FullName='/Informatique distribuée/Unix/Serveurs (discrets) /IBM/06_IBM SERVEUR P690/') AND " _
Le problème c'est que si un nouveau "amModel.FullName" est crée dans ma source OBDC, la macro de ne remonte évidemment pas l'info
Ce que je voudrais faire c'est que chaque fois qu'un "amModel.FullName" est détécté dans ma source OBDC, une Msgbox m'en avertisse....
Comment puis je faire???
Merci pour votre aide!!!
J'utilise une macro Excel pour exécuter des requêtes à partir d'une source OBDC
Voir début du code ci-dessous:
Sub ServeursPSERIESOp()
Sheets("Requête").Select
Sheets("Requête").Range("B2:S100").Delete
With Sheets("Requête").QueryTables.Add(Connection:=Array(Array( _
"ODBC;DSN=GDB SF;UID=GDBuser;PWD=GDB;APP=Microsoft Office XP;WSID=SES0TE5I;DATABASE=GDBDPISF;AutoTranslate=No;Regional=Yes;UseProcFor" _
), Array("Prepare=0;QuotedId=No;AnsiNPW=No")), Destination:=Range("B2"))
.CommandText = Array( _
"SELECT amModel.FullName, amAsset.SerialNo, amAsset.Status, amPortfolio.FullName, amLocation.FullName FROM GDBDPISF.dbo.amAsset amAsset, GDBDPISF.dbo.amLocation amLocation, GDBDPISF.dbo.amModel amModel, G" _
, _
"DBDPISF.dbo.amPortfolio amPortfolio WHERE amAsset.lAstId = amPortfolio.lAstId AND amAsset.lModelId = amModel.lModelId AND amLocation.lLocaId = amPortfolio.lLocaId AND amModel.lModelId = amPortfolio.l" _
, _
"ModelId AND ((amModel.FullName='/Informati" _
, _
"que distribuée/Unix/Serveurs (discrets) /IBM/05_IBM Serveur P660/') AND (amAsset.Status='Opérationnel') OR (amModel.FullName='/Informatique distribuée/Unix/Serveurs (discrets) /IBM/05_IBM Serveur P550/') AND " _
, "(amAsset.Status='Opérationnel')OR (amModel.FullName='/Informatique distribuée/Unix/Serveurs (discrets) /IBM/05_IBM serie p610/') AND " _
, "(amAsset.Status='Opérationnel')OR (amModel.FullName='/Informatique distribuée/Unix/Serveurs (discrets) /IBM/05_IBM Serveur P570 9117-570/') AND " _
, "(amAsset.Status='Opérationnel')OR (amModel.FullName='/Informatique distribuée/Unix/Serveurs (discrets) /IBM/06_IBM SERVEUR P690/') AND " _
Le problème c'est que si un nouveau "amModel.FullName" est crée dans ma source OBDC, la macro de ne remonte évidemment pas l'info
Ce que je voudrais faire c'est que chaque fois qu'un "amModel.FullName" est détécté dans ma source OBDC, une Msgbox m'en avertisse....
Comment puis je faire???
Merci pour votre aide!!!