BUG: TFS 2010 & Access 2007 - problem with queries
-
Monday, August 27, 2012 10:03 AM
Hi,
we have a big problem with TFS 2010 in connection with Access 2007. We get the following error when we try to Create from Team Foundation in Access 2007. It happens on complex queries like:SELECT qryRO_SR.PAR, qryRO_SR.POL, qryRO_SR.ORG, qryRO_SR.Txt, qryRO_SR.MADATI, 0 AS DAL, tRO_Kontrola.bChybaMADATI, 0 AS bChybaDAL, qryRO_SR.NejvyssiUrP, qryRO_SR.NejvyssiUrV, qryRO_SR.ID_Par3Uc11 FROM qryRO_SR INNER JOIN (SELECT tRO_SR_pod.ID_Par3Uc11, tRO_SR_pod.ID_ParentP, RO_SR.MADATI<tRO_SR_pod.MADATI AS bChybaMADATI FROM RO_SR LEFT JOIN (SELECT RO_SR.ID_Par3Uc11, RO_SR.ID_ParentP, Sum(RO_SR.MADATI) AS MADATI FROM RO_SR WHERE RO_SR.NejvyssiUrP=False GROUP BY RO_SR.ID_Par3Uc11, RO_SR.ID_ParentP HAVING RO_SR.ID_ParentP Is Not Null) AS tRO_SR_pod ON RO_SR.ID_RO_SR = tRO_SR_pod.ID_ParentP WHERE RO_SR.MADATI<tRO_SR_pod.MADATI) AS tRO_Kontrola ON (qryRO_SR.ID_Par3Uc11 = tRO_Kontrola.ID_Par3Uc11) AND (qryRO_SR.urParentP = tRO_Kontrola.ID_ParentP) ORDER BY qryRO_SR.ID_Par3Uc11, qryRO_SR.RO_SR_like_DAO, qryRO_SR.ORG;
When we try to Create from Team Foundation the error message is:
The field is too small to accept the amount of data you attempted to add.
It only happens with complex queries and it appears randomly. When this happens we must go through the following procedure in Access 2007 (on a different computer) to fix the problem:
1. Rename the original query.
2. Create a new query and give it the original name.
3. Put a single SELECT SQL-string into the query, eg. SELECT 1;.
4. Save the query and check-in the changes into TFS.
5. Reserve the query.
6. Open the query in SQL view.
7. Copy & paste original SQL-string into the query.
8. Save the query and check-in the changes into TFS.Then a colleague has to try to Create from Team Foundation in Access 2007 on his/her machine again. The procedure works just fine, but we might get into SERIOUS PROBLEMS in some situations.
Thank you very much for your time in advance.
Vladimir Cvajniga
- Edited by Vladimir Cvajniga Monday, August 27, 2012 10:05 AM
- Changed Type Forrest GuoModerator Thursday, September 13, 2012 3:01 PM issue not reproduce
All Replies
-
Monday, August 27, 2012 12:30 PM
Vladimir,
I'm not very familiar with how Access 2007 integrates with TFS version control. Would it be possible for you to capture a video of the entire scenario (including the problem)? You can use a free screen capture tool like CamStudio.
Thanks,
P. Kelley -
Monday, August 27, 2012 1:35 PM
I think this si actually unrelated to TFS and more related to a few known issue sin Access wrt Memo fields:
http://support.microsoft.com/kb/896950
My blog: blog.jessehouwing.nl
-
Tuesday, August 28, 2012 11:29 AM
Hi, Jesse,
it seems as if it is related to the problem you mentioned. But:
1. It occurs at the moment of loading objects (queries) from TFS.
2. It occurs randomly.
3. It only occurs on complex queries, ie. it doesn't happen when loading a query with a simple "SELECT" query.
Vladimir Cvajniga
-
Tuesday, August 28, 2012 11:33 AM
Vladimir,
I'm not very familiar with how Access 2007 integrates with TFS version control. Would it be possible for you to capture a video of the entire scenario (including the problem)? You can use a free screen capture tool like CamStudio.
Thanks,
P. KelleyThank you very much for your response.
I'll create the video as soon as the problem appears again. I use Microsoft Community Clips to create videos.
Vladimir Cvajniga
-
Monday, September 10, 2012 6:29 AMModerator
Hi Vladimir,
How about the issue, is it solved?
Best Regards,
Cathy Kong [MSFT]
MSDN Community Support | Feedback to us
-
Monday, September 10, 2012 7:56 AM
No, it is not. I'm gonna ask my colleagues to create a few complex queries in the hope the problem appears again. Then I'll be able to create the video.
Vladimir Cvajniga
-
Wednesday, September 12, 2012 4:00 PMWe cannot reproduce the problem at the moment. It happens randomly.
Vladimir Cvajniga
-
Sunday, September 23, 2012 9:23 AM
Hello, Kathy,
the same problem appeared a few days ago. Here are the videos:
1. Complex query problem 5,08 MB
2. Cannot get new version after Create from FT 708 kB
3. How to repair the project 11,3 MB
4. Re-create from TF to test whether the problem is solved 4,92 MB
Notes
1. Watch parts between 3:25 and 3:45 plus 5:50 and 6:05.
2. TF provider cannot get new versions of complex queries after Create from Team Foundation.
3. We experienced problems when we tried to import or copy & paste complex queries from a backup copy of the project. Following steps show you how to avoid similar problems. We use the same procedure for each query:
- Delete query in TF via Team Explorer.
- Create new query with the original name. Query holds a very simple SELECT in its SQL-string.
- Store the query into Team Foundation. Why is it taking so long to add a simple query to TF? See Access 2007 extremely slow with TFS 2010.
- Reserve the query.
- Open the qurey in desing view.
- Switch to SQL view.
- Paste & copy SQL-string from a backup copy of the project.
- Store the query in TF. I have noticed that it's better to stay in SQL-view when we store the query - it produces less errors afterwards when we Create from TF again. Weird, isn't it?
4. We need to re-Ccreate from TF to test whether all objects, incl. newly added complex queries, perform OK.
As you can see, it's quite complicated procedure and it takes ages to repair the project.
IMHO, one of the reason for query damage might be MS Access' "inteligence". Access adds brackets into SQL-strings but it doesn't do it correctly. See Access 2007 bug: brackets in queries.
Here are SQL-strings of complex queries shown in the videos:
qryRO_SR_kontroly_SumP
SELECT qryRO_SR.PAR, qryRO_SR.POL, qryRO_SR.ORG, qryRO_SR.Txt, qryRO_SR.MADATI, 0 AS DAL, tRO_Kontrola.bChybaMADATI, 0 AS bChybaDAL, qryRO_SR.NejvyssiUrP, qryRO_SR.NejvyssiUrV, qryRO_SR.ID_Par3Uc11 FROM qryRO_SR INNER JOIN (SELECT tRO_SR_pod.ID_Par3Uc11, tRO_SR_pod.ID_ParentP, RO_SR.MADATI<tRO_SR_pod.MADATI AS bChybaMADATI FROM RO_SR LEFT JOIN (SELECT RO_SR.ID_Par3Uc11, RO_SR.ID_ParentP, Sum(RO_SR.MADATI) AS MADATI FROM RO_SR WHERE RO_SR.NejvyssiUrP=False GROUP BY RO_SR.ID_Par3Uc11, RO_SR.ID_ParentP HAVING RO_SR.ID_ParentP Is Not Null) AS tRO_SR_pod ON RO_SR.ID_RO_SR = tRO_SR_pod.ID_ParentP WHERE RO_SR.MADATI<tRO_SR_pod.MADATI) AS tRO_Kontrola ON (qryRO_SR.urParentP = tRO_Kontrola.ID_ParentP) AND (qryRO_SR.ID_Par3Uc11 = tRO_Kontrola.ID_Par3Uc11) ORDER BY qryRO_SR.ID_Par3Uc11, qryRO_SR.ParPol_like_DAO, qryRO_SR.Org_like_DAO;
qryRO_SR_kontroly_SumV
SELECT qryRO_SR.PAR, qryRO_SR.POL, qryRO_SR.ORG, qryRO_SR.Txt, 0 AS MADATI, qryRO_SR.DAL, 0 AS bChybaMADATI, tRO_Kontrola.bChybaDAL, qryRO_SR.NejvyssiUrP, qryRO_SR.NejvyssiUrV, qryRO_SR.ID_Par3Uc11 FROM qryRO_SR INNER JOIN (SELECT tRO_SR_pod.ID_Par3Uc11, tRO_SR_pod.ID_ParentV, RO_SR.DAL<tRO_SR_pod.DAL AS bChybaDAL FROM RO_SR LEFT JOIN (SELECT RO_SR.ID_Par3Uc11, RO_SR.ID_ParentV, Sum(RO_SR.DAL) AS DAL FROM RO_SR WHERE RO_SR.NejvyssiUrV=False GROUP BY RO_SR.ID_Par3Uc11, RO_SR.ID_ParentV HAVING RO_SR.ID_ParentV Is Not Null) AS tRO_SR_pod ON RO_SR.ID_RO_SR = tRO_SR_pod.ID_ParentV WHERE RO_SR.DAL<tRO_SR_pod.DAL) AS tRO_Kontrola ON (qryRO_SR.ID_Par3Uc11 = tRO_Kontrola.ID_Par3Uc11) AND (qryRO_SR.urParentV = tRO_Kontrola.ID_ParentV) ORDER BY qryRO_SR.ID_Par3Uc11, qryRO_SR.ParPol_like_DAO, qryRO_SR.Org_like_DAO;
Vladimir Cvajniga
- Edited by Vladimir Cvajniga Monday, September 24, 2012 1:25 PM typo

