Avatar billede mikkelk Nybegynder
18. juni 2007 - 09:17 Der er 7 kommentarer og
1 løsning

MDB og ADP hvad er bedst? og kan jeg skifte?

Hej

Jeg har en frontend til sql-server der er udviklet i access som en mdb. Denne frontend skal nu pludselig bruges til ca. 50 brugere istedet for max 3. Er der i denne sammenhæng en fordel ved at skifte over til en adp-frontend? og er der nogen der har erfaringer med at ændre en mdb-frontend til en adp-frontend? Nogen enkelt måde at gøre det på? og hvad skal man være opmærksom på?

Derudover vil jeg meget gerne høre om der er nogen mulighed for i frontend at tilgå sql-brugernavnet på den der er logget ind i henholdsvis mdb/adp-udgaven?

/Mikkel
Avatar billede terry Ekspert
18. juni 2007 - 12:07 #1
I assume that you are linking the tables in your SQL Server. If that is correct then Access shouldnt have any problem with 50 users. There is quite a bit of work involved converting to an ADP so I would suggest continuing with the setup you have already. If performance is a problem then try converting your queries to pass-through queries.
Avatar billede mikkelk Nybegynder
18. juni 2007 - 12:54 #2
Ok lyder godt - er ikke helt opsat på at skulle til at kode det hele om.
Kender du nogle gode steder hvor jeg kan læse mere om pass-through queries?

Nogen der har et svar på den sidste del af mit spørgsmål?
Derudover vil jeg meget gerne høre om der er nogen mulighed for i frontend at tilgå sql-brugernavnet på den der er logget ind i henholdsvis mdb/adp-udgaven?
Avatar billede terry Ekspert
18. juni 2007 - 18:38 #3
You can use
environ("username") to get the name of who is logged on to the PC, I assume that this is also being used to log on to the SQL Server.

Pass-through queries:
http://support.microsoft.com/kb/303968
http://support.microsoft.com/kb/210415

or just enter
access pass-through queries

in google :o)
Avatar billede mikkelk Nybegynder
18. juni 2007 - 18:50 #4
Nej, brugeren logger ind med sql-brugernavn når han åbner databasen... så det duer ikke helt.
Avatar billede terry Ekspert
18. juni 2007 - 18:54 #5
If the user logs in then cant you get hold of the user/password when they log in?
Avatar billede terry Ekspert
18. juni 2007 - 19:58 #6
Create a function in the SQL database

CREATE FUNCTION dbo.UserName ()
RETURNS nvarchar(40)
AS 
        BEGIN
                DECLARE @UserName as nvarchar(40)

                set @UserName =upper(substring(suser_sname(),patindex('%\%',suser_sname())+1,(len(suser_sname())-patindex('%\%',suser_sname()))))

                return(@UserName)
        END


And in a module in your frontend use something like this

Function UserName() As Variant
Dim rs As ADODB.Recordset

    UserName = Null
   
    Set rs = New ADODB.Recordset
    rs.Open "SELECT UserName()", CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly
   
    If rs.EOF Then Exit Function
   
    UserName = rs(0)
   
    rs.Close
    Set rs = Nothing
   
End Function
Avatar billede mikkelk Nybegynder
18. juni 2007 - 21:58 #7
fantastisk. jeg takker mange gange for hjælpen.
Avatar billede terry Ekspert
19. juni 2007 - 12:00 #8
selv tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester