Solved

Recordset clone problem

Posted on 2013-10-31
11
453 Views
Last Modified: 2013-10-31
Dear Experts

I am trying to build an "Update All" button which will add pre selected text to every record on a form, but it doesn't work & only updates the first record.  The fields involved are as follows:

IT_Skills = the field to be updated

ITSkillsPreview = the chosen text to be added to each record

My code is below, can anybody help?

Private Sub SelectITSkills4All_Click()
Dim ChosenSkills As String
ChosenSkills = Me.ITSkillsPreview
Dim rs As dao.Recordset
Set rs = Me.RecordsetClone
rs.MoveFirst
Do Until rs.EOF
rs.Edit
IT_Skills = ChosenSkills
rs.Update
rs.MoveNext
Loop
End Sub

Open in new window

0
Comment
Question by:correlate
  • 6
  • 3
  • 2
11 Comments
 
LVL 61

Expert Comment

by:mbizup
ID: 39613695
---->>> IT_Skills = ChosenSkills

Change this line to

rs!IT_Skills = ChosenSkills

or alternatively:


rs("IT_Skills") = ChosenSkills
0
 
LVL 57
ID: 39613704
or even more simply:

 rs!IT_Skills = Me.ITSkillsPreview

Jim.
0
 

Author Comment

by:correlate
ID: 39613706
Thanks for that - have tried both but get a run time error 3265 - Item not found in this collection
0
 
LVL 57
ID: 39613710
Then IT_Skills is not a field in the forms data source.

Jim.
0
 
LVL 61

Accepted Solution

by:
mbizup earned 350 total points
ID: 39613711
Are you sure that the field is actually in your form's recordsource... checked for typos, made sure that the underscore is not actually a space, checked for table prefixes etc?
0
U.S. Department of Agriculture and Acronis Access

With the new era of mobile computing, smartphones and tablets, wireless communications and cloud services, the USDA sought to take advantage of a mobilized workforce and the blurring lines between personal and corporate computing resources.

 
LVL 57
ID: 39613717
By the way, it's also a good idea in VBA code to close any object you open and set object variables to nothing, so at the end of your procedure, do this:


 Set rs = nothing

  This doesn't have anything to do with your current problem, but can lead to other problems.

Jim.
0
 
LVL 57

Assisted Solution

by:Jim Dettman (Microsoft MVP/ EE MVE)
Jim Dettman (Microsoft MVP/ EE MVE) earned 150 total points
ID: 39613720
You'd also execute a tad faster if you did:

Private Sub SelectITSkills4All_Click()

Dim rs As dao.Recordset

Set rs = Me.RecordsetClone

With rs
.MoveFirst

Do Until .EOF
  .Edit
  !IT_Skills = Me.ITSkillsPreview
  .Update
  .MoveNext
Loop

End With
Set rs = nothing

End Sub
0
 

Author Comment

by:correlate
ID: 39613734
Works perfectly Thank you very much - the only other thing I did was to remove change the field name from IT Skills to ITSkills in case the space was interfering with it
0
 
LVL 57
ID: 39613794
I think you accepted the wrong comment on this.  Mbizup was the first to give you the correct answer.  

 I just threw in some extra comments, but in regards to your initial question, she answered it first.

 As I happen to be one of the Topic Advisors for the Access area (and mbizup is as well BTW), I'm going to un-accept this.

 Please accept her first comment as the anwer and you can give me an assist if you want for the extra stuff I threw in.

Jim.
0
 

Author Closing Comment

by:correlate
ID: 39613968
Thanks for these - works perfectly, hopefully got it the right accreditation & scoring this time?

Many thanks
0
 
LVL 57
ID: 39614069
Yeah, that works.  

 Thanks,
Jim.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In a multiple monitor setup, if you don't want to use AutoCenter to position your popup forms, you have a problem: where will they appear?  Sometimes you may have an additional problem: where the devil did they go?  If you last had a popup form open…
I see at least one EE question a week that pertains to using temporary tables in MS Access.  But surprisingly, I was unable to find a single article devoted solely to this topic. I don’t intend to describe all of the uses of temporary tables in t…
Familiarize people with the process of utilizing SQL Server stored procedures from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Micr…
In Microsoft Access, learn how to “cascade” or have the displayed data of one combo control depend upon what’s entered in another. Base the dependent combo on a query for its row source: Add a reference to the first combo on the form as criteria i…

943 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

7 Experts available now in Live!

Get 1:1 Help Now