Welcome to SPN

Register and Join the most happening forum of Sikh community & intellectuals from around the world.

Sign Up Now!
  1.   Become a Supporter    ::   Make a Contribution   
    Target (Recurring Monthly): $200 :: Achieved: $98

Setting the PK in vb

Discussion in 'Information Technology' started by Joel, Nov 8, 2005.

Tags:
  1. Joel

    Joel
    Expand Collapse
    Guest

    What is the vb code to set a field to be the primary or foreign key?

    Thanks
    Joel
     
  2. Loading...

    Similar Threads Forum Date
    General Great Production of English Songs and scene settings Videos Oct 11, 2012
    Hinduism Why is there Dancing in Bhajans or in Mandir Settings? Interfaith Dialogues Feb 18, 2011
    Personal Goal Setting. Why Set Goals? Business, Lifestyle & Leisure Oct 23, 2010
    Rise in Extremism or Rise in Hysteria? Canadian Sikhs Setting the Record Straight Hard Talk Apr 25, 2010
    Sikh News Badal invited to Pakistan for setting up of Nanak varsity (New Kerala) Breaking News Nov 23, 2009

  3. Douglas J. Steele

    Douglas J. Steele
    Expand Collapse
    Guest

    Realistically, fields can't be primary or foreign keys. Rather, fields can
    belong to indexes, and the Index can be marked as Primary. As to foreign
    keys, you'd create a Relation, and add the appropriate field(s) to the
    Relation's Fields collection.

    To do this through DAO, look at the CreateIndex and CreateRelation methods.

    --
    Doug Steele, Microsoft Access MVP
    http://I.Am/DougSteele
    (no e-mails, please!)



    "Joel" <Joel@discussions.microsoft.com> wrote in message
    news:5E228B54-2C7B-4A33-81A6-75128DCCC589@microsoft.com...
    > What is the vb code to set a field to be the primary or foreign key?
    >
    > Thanks
    > Joel
     
  4. '69 Camaro

    '69 Camaro
    Expand Collapse
    Guest

    Hi, Joel.

    Actually, it's less work to add indexes to tables (not to fields) using SQL
    -- if you know the syntax. But doing it in VBA is still pretty simple, too.
    I'll show you one of each. Try:

    Public Sub createPKIndex()

    On Error GoTo ErrHandler

    Dim db As Database
    Dim tbl As TableDef
    Dim fld As DAO.Field
    Dim idx As DAO.Index

    Set db = CurrentDb()
    Set tbl = db.TableDefs("tblDepartments")
    Set idx = tbl.createIndex("PrimaryKey")

    Set fld = idx.CreateField("DeptID")
    idx.Fields.Append fld
    idx.Primary = True
    tbl.Indexes.Append idx

    CleanUp:

    Set fld = Nothing
    Set idx = Nothing
    Set tbl = Nothing
    Set db = Nothing

    Exit Sub

    ErrHandler:

    MsgBox "Error in createPKIndex( )." & vbCrLf & vbCrLf & _
    "Error #" & Err.Number & vbCrLf & vbCrLf & Err.Description
    Err.Clear
    GoTo CleanUp

    End Sub


    Public Sub createFKIndex()

    On Error GoTo ErrHandler

    CurrentDb().Execute "ALTER TABLE tblPersonnel " & _
    "ADD CONSTRAINT Personnel_Depts_FK " & _
    "FOREIGN KEY (DeptID) " & _
    "REFERENCES tblDepartments (DeptID);", dbFailOnError

    Exit Sub

    ErrHandler:

    MsgBox "Error in createFKIndex( )." & vbCrLf & vbCrLf & _
    "Error #" & Err.Number & vbCrLf & vbCrLf & Err.Description
    Err.Clear

    End Sub

    .. . . where tblDepartments and tblPersonnel are tables that already exist,
    and both contain the field DeptID, which is of the same data type in both
    tables.

    HTH.
    Gunny

    See http://www.QBuilt.com for all your database needs.
    See http://www.Access.QBuilt.com for Microsoft Access tips.

    (Please remove ZERO_SPAM from my reply E-mail address so that a message will
    be forwarded to me.)
    - - -
    If my answer has helped you, please sign in and answer yes to the question
    "Did this post answer your question?" at the bottom of the message, which
    adds your question and the answers to the database of answers. Remember that
    questions answered the quickest are often from those who have a history of
    rewarding the contributors who have taken the time to answer questions
    correctly.


    "Joel" wrote:

    > What is the vb code to set a field to be the primary or foreign key?
    >
    > Thanks
    > Joel
     
Since you're here... we have a small favor to ask...

More people are visiting & reading SPN than ever but far fewer are paying to sustain it. Advertising revenues across the online media have fallen fast. So you can see why we need to ask for your help. Donating to SPN's is vote for free speech, for diversity of opinions, for the right of the people to stand up to religious bigotry. Without any affiliation to any organization, this constant struggle takes a lot of hard work to sustain as we entirely depend on the contributions of our esteemed writers/readers. We do it because we believe our perspective matters – because it might well be your perspective, too... Fund our efforts and together we can keep the world informed about the real Sikh Sikhi Sikhism. If everyone who writes or reads our content, who likes it, helps us to pay for it, our future would be much more secure. Every Contribution Matters, Contribute Generously!

    Become a Supporter      ::     Make a Contribution     



Share This Page