Comment insérer des données d'une feuille excel dans une table de base de données?
J'ai besoin d'insérer les données d'une feuille excel dans un teradata table.
et j'ai besoin de le faire à l'aide d'une MACRO.
J'ai des données dans une feuille excel comme
COL1 COL2 COL3 COL4 1 2 3 4 2 5 8 10 . .
donc sur
et j'ai besoin de garder un bouton dans la feuille excel et affecter une macro à ce bouton de sorte que lorsque je clique sur le bouton de lignes dans la feuille excel doit être insérée dans une table de base de données.
L'exigence est que je vais envoyer le vide d'une feuille excel à la personne, il va remplir la fiche avec les données et qu'il clique sur le bouton dans excel et les données doivent être insérées dans la table de base de données.
Je préfère faire cela à l'aide d'une macro..
Merci à tous.
Vous devez vous connecter pour publier un commentaire.
Ont un coup d'oeil à cette lien pour l'utilisation de vb/vba code (pour le marco) pour déplacer des données à partir d'excel dans sql server.
J'ai créé la fonction qui va transformer le tableau Excel en plusieurs Insérer des Commandes.
Copier dans le module, puis dans la formule, mis en place comme premier paramètre les valeurs de cellules qui doit être inséré, le deuxième de la gamme doivent être les noms des colonnes (appuyez sur F4 pour définir ce que constante), et le troisième (facultatif) le nom de la table. Si le nom de la table n'est pas spécifié, le nom de la feuille sera utilisé comme valeur par défaut.
Dans votre cas c'est de cette façon que la feuille de calcul devrait ressembler à:
Cela va générer pour vous ces deux questions:
Ici est la fonction (fonctionne bien avec Microsoft SQL (TSQL):
Si vous avez beaucoup de données à insérer, vous ne pourriez pas besoin d'utiliser INSERT INTO dans chaque commande, alors il suffit d'utiliser la Insert2DB fonction en première ligne (et tous les 500) et pour le reste l'utilisation de seulement Insert2DBValues:
Cela vous donnera des commandes suivantes:
Et enfin, si vous utilisez MySQL, il y a différentes échapper des chaînes, donc dans ce cas utiliser Insert2DBMySQL: