I just linked a table to an Access Database from SQL Server. Now, whenever I open the linked table, I receive the error "Scaling of decimal value resulted in data truncation."
After a quick Google search (and search of these forums), I found some solutions:
what this means is that your number / data had a whole load of numbers after the decimal point, the length (width) of the field was not enough to display them all so some of the end was got lost
Increase the field size, or, limit the size of the number via the table, in design view, FIELD SIZE
It would appear that somewhere along the way you are
implicitly converting from a decimal value that has high
precision to an integer or other type value that has low
precision. During the conversion their is some data loss
in the form of lost precision.
So, I guess I found the problem, right? I just don't know what I'm suppose to do to correct the issue. There is not a single field in my SQL database that has a precision beyond 10 and a scale beyond 2. So...erm...Why can't Access just deal? What am I doing wrong?
I am getting "Truncation Error" while importing data from Excel to access 2007. I have tried changing the format to short text but the result is the same.
I already posted this as a response to another thread, but thought I should post it as a new one in case people don't follow threads...
I need to construct a SQL statement to insert a row. The VB code used to construct the insert statement is very long (the actual insert statement will be much shorter). For some reason that I do not understand, it is truncated after 255 bytes.
I created a Microsoft Access database that has a data entry form. This “parent” form has two sub-forms. Each sub-form can have many records that map to the same parent record.
I created VBA code to perform a dynamic query based on the fields I select and their associated values (e.g. query by form). The VBA code creates an SQL string that I use to run a query and present the results. I present the results via a report that looks just like my data entry form. The report includes two sub-reports (one for each of the sub-forms used in my data entry form).
On the main page of my report, there is a field called Gen_Comments. This field is of type “memo”. I see that the data in this field is truncated after 255 characters. This is not the case for any of the fields in my two sub-reports. My SQL statement uses the keyword DISTINCT. (Please refer to the SQL statement below). I’m pretty sure that this is what is truncating my memo field because if I remove this keyword and do a query, I do not get the truncation. However, if I remove this keyword, I then get duplicate records in my query.
HELP!! Can anyone determine if there is something wrong with my SQL statement below (which uses two nested inner joins)? Or, is there something else that I can do in conjunction with the DISTINCT keyword to eliminate the truncation? Any help would be GREATLY appreciated.
SELECT DISTINCT [PR_TABLE].*,SubTbl_DefectClassification.DefectNum,SubTbl_Ac tionItems.StepID FROM (([PR_TABLE] INNER JOIN SubTbl_DefectClassification ON PR_TABLE.ID = SubTbl_DefectClassification.DefectNum) INNER JOIN SubTbl_ActionItems ON PR_TABLE.ID = SubTbl_ActionItems.StepID) WHERE (((InStr(1,[PR_Table].PR_Gen_Comments,"The Wavecom",1))<> "0") AND (([SubTbl_DefectClassification].SevLevel) = "Minor") AND ((InStr(1,[SubTbl_ActionItems].Description,"Just a test",1))<> "0"))ORDER BY [PR_Table].ID
I sincerely thank you, in advance, for any help that you may be able to provide.
-Al Oberneder International Truck and Engine Corporation
I'm using Access 2003 to create some reports for an insurance company I work for by interrogating the Informix database of our policy maintenance software via an ODBC connection. The linked tables and the fields included within cannot be edited due to permission restrictions (the software is provided by a third party) but this doesn't usually cause issues.
However, I've recently created a Query that extracts a *number* field from one of our database tables, but I'm having trouble due to the 'Scale' attributed to this field in the Access table settings.
Access recognizes that the field is a 'Decimal' type, but attributes a 'scale' of '0' which causes an error. 'Scale' (for those who aren't aware) refers to the maximum number of digits that can appear to the right of a decimal separator, meaning whenever this value exceeds 0 (e.g. if an advisor enters something like 240.51 - a 'Scale' of '2'), the 'Scaling of decimal value resulted in truncation' error occurs.
As mentioned earlier, we don't have the ability to amend the Scale attributed to this value due to permission restrictions, although I'm told that 'Scale' is set in Access and not on the external database anyway.
how to bypass this issue? I can't reformat the field as Access attributes the Scale upon the initial linking of the table, long before the field is used in any queries. Permission restrictions also prevent me from amending the 'Scale' value in the linked table settings.
The software house themselves can't assist as they've set this value to hold multiple decimals on the actual database. It's as if Access only checks a small proportion of the fields held in the table (the first few hundred of this particular field are whole numbers) and attributes the scale based on this.
How do you get to see the entire file path in Access Linked Table Manager of linked tables that are located in a folder with a long path? The problem is that you can only view the first 64 or so characters of the table’s path. This is a real problem when these linked tables need to be updated and you don't know where it’s stored.
I have had little reponse to this on the Queries forum so am trying here in a hope that someone can advise me. You can tell Im only a dabbler and not a programmer from my language....
Query "Q_Pot_Spec_PR_entry" shows two joined tables T_Pot_Spec_PR and T_Pot_FSN_PR with all records from T_Pot_Spec_PR, and those that match from the T_Pot_FSN_PR. Clicking in the "Featured Sherd" Yes/No field of T_Pot_FSN_PR will create a record in the second table with 1. a copy of the "Pot_Record" from the first table and 2. a new Autonumber PK
Within the query or a form view of the query I find that I can create up to 4 new records, and then I get "You cannot add or change a record because a related record is required in Table T_Pot_Spec_PR" message. Closing the Dbase down and reopening seems to sort it for a few more records.
I have the same set up on a sister set of data and it works fine. However if this is a known problem I should not be setting up my tables this way. How should I then do it to create related records in separate tables that automatically enter the common field?
Help PLease? Attached Files A2-2003.zip (205.2 KB, 0 views)
Everything works fine except the column which contains 'Material' holds both numeric and alpha-numeric values. For example these are both material numbers: 156952 and 1238707-202. The data in this column is formatted as General. The data type for Material in tblMPSDATA is Text, 18 character length. The alpha-numeric materials are all at the end of the file. When I import, an error table is created listing the alpha-numeric materials with the error 'Type Conversion Failure'. But if I have an alpha-numeric material in the first row of data then everything is imported just fine.
I have set up a nice little popup form with a file path and command button for controlling the process of bringing in this data. I really do not want to have to add special instructions about making sure the Excel data is sorted in a certain manner prior to importing. Any thoughts on why Access is not treating everything in this column as text?
I am getting the following error when I try to present some information from a database:
Microsoft JET Database Engine error '80040e07' Data type mismatch in criteria expression. /tribute2.asp, line 168
The code relating to this is: The error line it is talking about is: Code:rsGuestbook.Open SQLstr, adocon
Code: <%Dim adoCon 'Holds the Database Connection ObjectDim rsGuestbook'Holds the recordset for the records in the databaseDim SQLstr'Holds the SQL query for the databaseSet adoCon = Server.CreateObject("ADODB.Connection")adoCon.Open = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=c:inetpubftprootlocalusericlay emember ing.co.nzdb emembering.mdb;"strcustomerID = Request.QueryString("remID")Set rsGuestbook = Server.CreateObject("ADODB.Recordset") sqlstr = "select * from guestbook where guestbook.mid =" & strcustomeridrsGuestbook.Open SQLstr, adoconDo While not rsGuestbook.EOF'Write the HTML to display the current record in the recordsetResponse.Write ("<font face='Arial' size='2' color='#000080'><i>A tribute provided by ")Response.Write (rsGuestbook("confirstname"))Response.Write (" ")Response.Write (rsGuestbook("conlastname"))Response.Write ("</i></font><font face='Arial' size='1' color='#000080'><i> ")Response.Write (rsGuestbook("conrelationship"))Response.Write ("</i></font><br><br>")Response.Write (rsGuestbook("conmessage"))Response.Write ("<br>")'Move to the next record in the recordsetrsGuestbook.MoveNextLoop'Reset server objectsrsGuestbook.CloseSet rsGuestbook = NothingSet adoCon = Nothing%>
Can anyone see where I have gone wrong ... could it be something to do with the fact that 'remid' relates to another table in the database. Though when I did a reponse write on the sqlstr it is presenting the remid.
I've join a small company who uses access to store a route card system. Unforunatly it's partially broken and nobody seems to know how to fix it. Instead of bodging it forever i'm hoping to fix it.
My access knowledge is fairly limited so please keep it simple
The route cards are fairly standard, the primary key beening the route card number, the are various fields material, order date, etc.
The problem is when you enter the data into 3 of these fields access repeats the data to all the forms. At the moment we're having to leave them blank and fill them in by hand, which means we don't have the data on computer.
I am trying to aput a stock number into a form called (products) but it tells me there is no matching number in another table ( stocklist). yet that number is in another table (stocklist.
I have a SQL database with an Access front end that keeps giving me an error "The data has been changed... another user has edited the record.I'm the only user on it, and I'm trying to edit it directly from the table. I already checked my indexes and changed all the bits to ints.
I have fronend and backend database. I have all data stored in another database (backend) and that database is password protected. I need to export some selected data into Excel which is created in the same process. Below is the code:
Code: Private Sub ExportLeaversList(strWorkbook As String) On Error GoTo ERR_HANDLER Dim objApp As Object Dim strExcelFileName As String Dim varStatus As String Dim strTempQueryName As String Dim strSelectSQL As String Dim strPnPDatabaseName As String Dim strPnPDatabasePassword As String
now when I try the section performing data entry with SQL, I am at the point where I have typed the SQL statement:
INSERT INTO Employees(EmployeeNumber, [Last Name], Gender, HourlySalary) VALUES ('227947','Jameson','M',18.85);
It chokes on the "unknown variable" HourlySalary, I could find nothing wrong with it.I then deleted my HourlySalary and copied theirs directly from the tutorial. It still chokes on HourlySalary.Now I am not sure what to do since I have taken their script and copied it to the SQL window.
I am putting together a quick and dirty db to hold just a few thousand bits of data for some tests I’m about to start.
For various reasons it is better to hold some of these in Excel, and to link Access to Excel.
The problem I have is that when I use Access to edit a “record” in Excel, it will work for the first one or two records, but then Access crashes and I get the very familiar “Sorry for the inconvenience, please send this error file to uSoft blah blah blah” (which I always do, but wonder if anyone ever takes any notice of them!).
The problem occurs whether the spreadsheet is open in the background, or is just sitting closed in its directory with Excel not running.
At the moment, I only have a tiny amount of data as I’m still putting it together, so it’s not a “size” issue; I first noticed the problem with only about ten records!
I expect I’ll move everything to Access (not ideal but hopefully it wont crash quite so often), but I’m curious to know if any of you have actually made a successful link between Access and Excel (and used it for editing data, not just looking, which is fine).
I changed one of my queries to generate the period off a date in a field. The simple expression is:
Period: Month([Act Del])
It give me the number of the month...however now I am getting this error. I assume that the number of the month is not matching with the other data types....but I need to know who to fix it.
Hello all - One of my 3 users' computers keeps coming up with an error when I try to enter the following command in the "Validation Rule" field of the table design view:
>=#1/1/1998# And <=Date()
Some investigative work showed that it's erroring on this clause: "<=Date()". Any idea why it would error on her pc and not the other 2 pc's? Her pc is old, but we're all using Access 2002. The error says: "The function you entered can't be used in this expression." Any thoughts would be helpful. Thanks much.
This is going to be extremely frustrating for all parties involved, because there's no error message - or any hint as to what's going on.
I have a form, frmSub, that has comboboxs linked to fields in two different tables, Products and PurchaseDetails. All the comboboxes linked to Products are working fine, but when I try and enter anything into the ones connected to PurchaseDetails all I get is a 'beep' and nothing happens.
I've definitely included all the appropriate fields in the record source of the form. I have no idea what else to try.
Here's the code for the record source query of the form. PurchaseDetail.Price and PurchaseDetail.Quantity are the fields not working:
I am using below code to import various Excel spreadsheets into Access. However every now and again below code goes into error, usually because there is no "toimport" range in the Excel file.
So I would like to use On Resume Next, so it can import all other files. But in order to do it, I need also to be able to somehow capture information about all files that went into error, so I can fix them.
I would like to create like an "error log" and I would like Access to update it with information about all the files that were not uploaded + error message + date/time.
Ideally I would like it to be in Excel file. I tried to use DoCmd.TransferSpreadsheet but it does not do what I need
Code: Function import() Dim strFile As String DoCmd.SetWarnings False ' Set file directory for files to be imported strPath = "C: est"
Dim strSQL As String    'Add Absence Data to tblHour. strSQL = "INSERT INTO tblHour (WorkDate,EmployeeID,Hours) " strSQL = strSQL & "VALUES (#" & Me.AbsenceDteTo & "#, '" & Me.EmployeeID & "', '" & Me.txtAbsHrs & "')"         CurrentDb.Execute strSQL, dbFailOnError
I have a small form with a combobox that gets its data from a query.
I added code to this database to forward to me info about forms and controls in case they generate errors. Occasionally I get an "error = 0" on this combobox.
Since there are no events attached to this combobox then what could be causing this error?
I am using following routine to lift data from Excel files into Access tables. Whole thing works, well, most of the time. The only issue I have is the spreadsheets are received from warehouses and even though they have been given strict instruction to stick to the template, I have had to adjust the spreadsheets. Amongst errors I get are:
Field 'F16' does not exist in table 'SA1'. (In this case I simply delete the last most empty column to fix this).
Or there are column name spellings and in such cases, I get no error and the simply code hangs.
Is there any routine that I could incorporate in the code that clearly states what issues are being experienced. This way I can pass the db to the user to run it themselves.
'Dim dbs As Database, tdf As TableDef Set dbs = CurrentDb On Error GoTo Macro1_Err DoCmd.SetWarnings False ' RunSQL executes a SQL string