Solved

string problem

Posted on 2001-06-22
6
130 Views
Last Modified: 2010-05-02
When I want to populate a recordset with values from another like
-----------
do while not rset1.eof()
   rset2.addnew
       rset2!name=rset1!name
   rset2.updatebatch
loop
------------
Curiosly in one computer it works fine in another one it gives an error and I must change to the following code
------------
dim var as string
 VAR=rset1!name
do while not rset1.eof()
   rset2.addnew
       rset2!name=VAR
   rset2.updatebatch
loop
----------
Must I convert the record to a string?

Thanks
0
Comment
Question by:asimoes
  • 3
  • 2
6 Comments
 
LVL 10

Expert Comment

by:caraf_g
ID: 6217533
only thing I can think of is that you're using different ways of connecting to your data. E.g. ODBC on one machine and OLEDB on t'other...... !?
0
 
LVL 18

Expert Comment

by:deighton
ID: 6217623
The two pieces of code have different functionality, Var is being set outside the rset1 loop in the second example  and will then not change, in the second example rset1!name changes as you move through rset1

(I presume you are navigating through the rset1 recordset somehow, codes you posted is infinite loop isn't it?)  

Post the actual code if possible

Could rset1!name be null and rset2 does not allow a null?
 
0
 
LVL 9

Accepted Solution

by:
Valliappan AN earned 100 total points
ID: 6217845
Try like this:

do while not rset1.eof()
  rset2.addnew
  rset2!name=rset1("name").Value   'NOTE THE CHANGE in accessing property of recordset here.
  rset2.updatebatch
  rset1.movenext  'or whatever code....
loop

A better alternative, is to use direct SQL statements to do this like(if it suits to you), like this:

Conn.Execute "INSERT INTO table2(name) SELECT name FROM table1"

This is a faster one, I dont know, this suits you or not.

Hope this helps, Cheers.
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 10

Expert Comment

by:caraf_g
ID: 6218183
Hm...... I wonder though *why* it works..... !?

To be completely unambiguous, perhaps:

rset2.Fields("name").Value = rset1.Fields("name").Value
0
 
LVL 9

Expert Comment

by:Valliappan AN
ID: 6218880
caraf_g,
I also do so. But I think it is setting as a reference,  when assigning a recordset field to another recordset field, it gives error. But not to variables, I suppose.

So, when assigning a recordset field to another recordset field, needs to assign its value.

asimoes,
Thanks.

Cheers.
0
 
LVL 10

Expert Comment

by:caraf_g
ID: 6218969
Yeah..... maybe.... Hm.... Anyway. Interesting :o)
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Most everyone who has done any programming in VB6 knows that you can do something in code like Debug.Print MyVar and that when the program runs from the IDE, the value of MyVar will be displayed in the Immediate Window. Less well known is Debug.Asse…
Enums (shorthand for ‘enumerations’) are not often used by programmers but they can be quite valuable when they are.  What are they? An Enum is just a type of variable like a string or an Integer, but in this case one that you create that contains…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…

735 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