2010-02-09 2 views
8

J'écris une base de données Microsoft Access pour enregistrer le client d'avoir à acheter SQL Server. Comment obtenez-vous la clé primaire de la ligne que je viens d'insérer? Dans SQL Server, il estSCOPE_IDENTITY() dans Microsoft Access

INSERT INTO TABLE(FIELDLIST) VALUES(VALUELIST) 
SELECT * FROM TABLE WHERE PrimaryKeyID = SCOPE_IDENTITY() 

Répondre

2

S'il est question d'argent, obtenir SQL Server Express; c'est gratuit.

Si vous écrivez une application, vous devez encore Microsoft Access, mais vous pouvez joindre une base de données SQL Server Express à votre application et utiliser la base de données SQL Server Express comme support de stockage. Si l'application doit être multi-utilisateur, l'utilisation de SQL Server Express comme base de données backend rendra l'application plus fiable, en particulier si vous n'avez pas les connaissances spécialisées nécessaires pour créer correctement une application multi-utilisateur à l'aide d'Access. en tant que backend.

applications multi-utilisateurs ont deux parties: la base de données et l'interface de l'application. La base de données résidera sur une machine et sera partagée par chaque application frontend. Le frontend de l'application sera copié sur l'ordinateur de chaque utilisateur.

Si vous êtes sérieux au sujet du développement d'accès, se this book. Bien que daté, c'est toujours le travail définitif sur le développement de l'accès.

+0

C'est un bon conseil. Un grand nombre de sociétés d'hébergement fournissent 1 base de données SQL Server et autant de bases de données Microsoft Access que vous le souhaitez. J'essaie de limiter la quantité de tables que j'empile dans ma base de données SQL Server. Je vais devoir vérifier pour voir s'il existe des sociétés d'hébergement qui fournissent SQL Server Express gratuitement. –

+0

Combien de tables parlons-nous? Le nombre de tables augmente-t-il continuellement? Si ce n'est pas le cas, votre seule instance SQL Server devrait être capable de gérer tout ce que vous lui lancez. Si les tables sont en croissance continue (vous ajoutez une nouvelle table tous les jours?), Et les tables ont tous les mêmes champs, envisager d'ajouter un autre champ pour distinguer les instances de table (un champ de date, peut-être?) Et mettre toutes les données dans une seule table. –

Questions connexes