POST
|
The obvious answer is to purchase a third party ODBC/ADO driver which will allow for the import/export of dbf files. One horrible workaround I found is to save the data as an excel table and import that into access. Not pretty but does work. BTW if you are using a 32 bit Office 2013 Install --- you can still create a dBase DSN.... If you are using 64 bit SOL Found this on GitHub... jenojunio/import-dbf-to-msaccess2013-function · GitHub ------ If you are ambitious and want to find all the dll's, you can use .NET or even VBA(I haven't tried but should work) to access the DBF's While you cannot use the external data tab. You can in VB .Net 2013 Express (And VBA I believe)
use this code. You will need to add to your registry the dbase information.
Dim AccessConn As New System.Data.OleDb.OleDbConnection( _
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\S\Job.mdb")
' Import DBF File
AccessConn.Open()
Dim AccessCommand As New System.Data.OleDb.OleDbCommand( _
"SELECT * INTO [Job] FROM [dBase III;DATABASE=D:\S].[JobX]", AccessConn)
AccessCommand.ExecuteNonQuery()
AccessConn.Close()
You can create a new text file for the registry files.
You also may need a .dll named ACEXBE.DLL in C:\PROGRA~1\COMMON~1\MICROS~1\OFFICE14
Create a text file called, dBASE-3.0.reg copy the lines below into it. The save and close. Click on file. This will add the dbase to the registry
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Access Connectivity Engine\ISAM Formats\dBASE III]
"Engine"="Xbase"
"ExportFilter"="dBASE III (*.dbf)"
"ImportFilter"="dBASE III (*.dbf)"
"CanLink"=hex:01
"OneTablePerFile"=hex:01
"IsamType"=dword:00000000
"IndexDialog"=hex:00
"CreateDBOnExport"=hex:00
"SupportsLongNames"=hex:01
Here are other dbase files:dBASE-4.0.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Access Connectivity Engine\ISAM Formats\dBASE IV]
"Engine"="Xbase"
"ExportFilter"="dBASE IV (*.dbf)"
"ImportFilter"="dBASE IV (*.dbf)"
"CanLink"=hex:01
"OneTablePerFile"=hex:01
"IsamType"=dword:00000000
"IndexDialog"=hex:00
"CreateDBOnExport"=hex:00
"SupportsLongNames"=hex:01
dBASE-5.0.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Access Connectivity Engine\ISAM Formats\dBASE 5.0]
"Engine"="Xbase"
"ExportFilter"="dBASE 5 (*.dbf)"
"ImportFilter"="dBASE 5 (*.dbf)"
"CanLink"=hex:01
"OneTablePerFile"=hex:01
"IsamType"=dword:00000000
"IndexDialog"=hex:00
"CreateDBOnExport"=hex:00
"SupportsLongNames"=hex:01
xBase.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Access Connectivity Engine\Engines\Xbase]
"win32"="C:\\PROGRA~1\\COMMON~1\\MICROS~1\\OFFICE14\\ACEXBE.DLL"
"DbcsStr"=hex:01
"Mark"=dword:00000000
"Date"="MDY"
"Exact"=hex:00
"Deleted"=hex:01
"Century"=hex:00
"CollatingSequence"="Ascii"
"DataCodePage"="OEM"
"NetworkAccess"=hex:01
"PageTimeout"=dword:00000258
... View more
07-13-2015
07:26 AM
|
0
|
0
|
2849
|
POST
|
I can possibly give you an approach that may help you get started.... I occasionally have to put Origin/Destination data together for various transportation planners. The approach I take: I export the data to a database and write an SQL query to do the sums for me. Note that the query syntax will be dependent upon the database you use... ie in SQL Server I believe the syntax for min will be least and max will be greatest..... hope this sparks some ideas that will help. SELECT min(Sub_Region, Sub_Regi_1) as SubRegion1,
max(Sub_Region, Sub_Regi_1) as SubRegion2, sum(dataCountfield) as cnt
FROM YourDataSet
GROUP BY min(Sub_Region, Sub_Regi_1), max(Sub_Region, Sub_Regi_1)
... View more
06-23-2015
07:37 AM
|
1
|
1
|
995
|
POST
|
Using VBScript for multiple function as Wes stated can be done similarly to python. As to storing and reusing the vbscript functions I do not think vbscript has the availability of the "Include" statement like VBA. So you would have to develop a snippets library and cut/paste or develop your functions as a class object and run something like: sub GetLib(Scriptname)
dim oFile
set oFile = oFso.OpenTextFile(Scriptname) 'File Script Object
ExecuteGlobal oFile.ReadAll()
oFile.Close
End Sub
Function test1(xxx)
dadfasdf
end Function
Function test2(xxxxx)
.s;alkjdf;sdlkfj ....
end function Not worth it! May have to resort to python for your re-usablitly question I am a VB guy..... and this is better suited for python and develop your reusable portions as a custom toolbox. (I hate Python....much prefer VB but it seems we are in the minority now and development goes on.....)
... View more
05-28-2015
07:29 AM
|
1
|
0
|
930
|
POST
|
I am a rebel of sorts and alway have an eye out and a foot in open source. I am not a believer in monopoly's being the "out of box" solution that fits all needs and so in spirit I can totally side with you. However Being a realist and have worked in many diverse contextual GIS arenas... The "less" riskier approach is staying within the mainstream, yes for now this includes the "out - of - the box" solutions. Look what the past 5 or so years have brought us, job lay offs, big turn over and such, the sustainability/most cost effective has been with the industry trends. Those who are now re-hiring and ramping up can employ from a much wider range of folk who have gone through the "current trends training". Still in order not to be a dinosaur, there is a lot to be said for the rebels and new innovations to push the boundaries as you do. I keep in mind that 80 - 90 % of all IT innovations result in failure -- improperly managed can be disastrous -- no I am not a bean counter, but I still need a pay check My philosophy is to push those boundaries every chance I reasonably can for that 20% success rate and to move the box further away from me still keeping the 'old tried true' as my bodyguard. Ted
... View more
05-19-2015
08:14 AM
|
0
|
0
|
270
|
POST
|
I cannot tell you how many times that variant has bit me.... Sneaky example: Dim i,j,k,l as integer You would expect i,j,k,l to be integers but no ... i is an integer, j,k,l will be variants. (This one is a killer!)
... View more
05-12-2015
09:06 AM
|
1
|
1
|
1450
|
POST
|
We have had a tiresome problem with images placed on our maps. Occasionally (frequently) some of the images not all become hatched, blurry or unreadable when exported to a PDF from arcGIS. This occurs when any type of bitmap image is used, PNG,GIF,JPG, BMP or TIF. This is very random nothing related to size or memory. Our work around is by trial and error to slightly move one image or slightly rotate one image/re-export to find the "trigger" image that produces this behavior. (Reason why this is tiresome!) Has anyone else run across this? Are there better workarounds or predicting which image will cause the effect? The only other workaround I have seen is to export the map as a TIF image and convert that into a PDF. This takes longer than our hunt and peck method and vector quality suffers. Example of the effect:
... View more
05-05-2015
09:59 AM
|
0
|
0
|
2835
|
POST
|
Confusing.... Since VBA was used and VBA converts/casts anything to a variant data type that does not have a strict DIM statement could be your problem? ValidFacet() ==> True, False, "Variant String" If this is the case you may have to accommodate this additional situation..... VBA will try an convert any failed datatype to variant. Some other programmer, being on the lazy side or employing a quick fix used this leniency of VBA to create additional functionality without having to rip apart code to create additional logic. Just a thought that may trigger some additional ideas for you?
... View more
05-05-2015
09:20 AM
|
1
|
3
|
1450
|
POST
|
VBSCRIPT: dim a as string
a = "MyFavoriteString123"
a = Left(a, Len(a) - 3) & "-" & Right(a, 3)
... View more
04-24-2015
06:46 AM
|
2
|
1
|
2290
|
POST
|
I too, as you will find a lot of us, came to GIS through different backgrounds and paths. My background was and still is Structural Engineering. I became fascinated with the power of GIS to store data spatially and gain the ability to relate data, then, in impossible magical ways. I do not believe there is a single path to lead you where you want to go. Myself and many of my peers who came to GIS from diverse backgrounds had the GIS come find them. Due to GIS, I learned to manage Database, learn scripting which lead to programming. Developed and Managed the Design and Constructions of many management systems in which I always found ways of incorporating GIS. Finally on a whim I put out a small resume on the internet and oh boy! the jobs came looking for me People, Companies and Business are looking for folks that wear lots of Hats! In my case, the companies that came to me were interested in my Engineering Background in combination with my IT/GIS skills. They were looking for that person that "understood" both world and could easily work between them. Many of my peers found their position in similar ways -- Archeology --> GIS, Salesman --> GIS etc... My advise is to try to implement your interests in all that you do, your case, what ever position you currently hold, find and employ GIS wherever you can. First you find that you will have to learn and use GIS in many different ways, some unorthodox (These will be your great learning experiences!) This will greatly enrich your background and skill sets -- Good Companies have a good habit of finding well rounded folks! They will find you when you least expect it !
... View more
04-07-2015
08:07 AM
|
2
|
2
|
2092
|
POST
|
I disagree. ArcGIS is a great tool for managing geographical data. Day to day business data, and attributes it is horrible unless you are using SDE and storing your data in SQL Server or Oracle or like -- but you would not be using ArcGIS for reporting outside of Geographical stuff. On the smaller databases, take for example the file geodatabase, try connect that with word to produce mailing labels for example! (You cannot) Just my opinion -- only outside of geographical information shapes and stuff, there are much better and more efficient tools.
... View more
04-06-2015
09:50 AM
|
1
|
0
|
362
|
POST
|
Just to chime in on the topic... Our shop has not decided on an enterprise database yet ... so the SDE is out of the question for the short term. The next recommended is the file geodatabase; however this is only accessible through GIS/ESRI non GIS use of this data would be impossible. That leaves the personal geodatabase for us which is accessible by GIS and all others for non GIS use as a regular Access DB which is compatible with all other Applications our shop runs. Draw backs are multi-editing is an issue and has to be handled through procedure/process (old fashion way), however multi reading/sharing of data is doable. My two cents!
... View more
03-24-2015
10:41 AM
|
0
|
0
|
595
|
POST
|
I am a VB guy learning Python..... so take that in stride. It will help if you used the editors code formatter to format your code. Python indentations are critically important. Looking at your code...the proper indentation is lost so I have no clue on what your doing.... I take it that you want to do multiple things at once .... def FindLabel([Field1],[Field2]....[FieldN]):
myLabel = ""
myLabel = [Field1] + " " + [Field2] + "\n"
myLabel = myLabel + [Field3].title() + "\n"
s = [Field5]
if [Field4] = "Something": #Capitalize first letter
myLabel = myLabel + s.capitalize()
else: #UpperCase the word(s)
myLabel = myLabel + s.upper()
return myLabel
Hope this helps somewhat....
... View more
03-20-2015
11:11 AM
|
3
|
3
|
718
|
POST
|
Chris, I use Linear Referencing to track and manage Speed Limits on our system. That said, we do have issues on defining the "Speed Zone" that is related to the posted sign(linear extent). I have not yet found any definitive way to interpret the start or end of a speed zone for which a speed limit sign is referencing. This becomes tricky when you have ramps and have acceleration and deceleration lanes involved. Since I could not find any rules defining the start and end of the speed zone; they are judged by hand or eye in our shop and reviewed by traffic engineers (This is very inefficient).
... View more
03-19-2015
07:46 AM
|
0
|
0
|
835
|
POST
|
At the time when it was written, Store() was the methodology and if my memory serves me correct, Nothing else worked with the memory problems except for sprinkling in the GC.Collect around until the memory issues went away (I did not understand nor currently understand fully the usage of GC.Collect). Removing them (the memory problems come back?). I never revisited this program because I had no issues (If it is not broke don't fool around with it). Assuming the memory issues are with the "releasing of the cursor", I like your code snippet! However, I wonder if this would have anything to do with the "Item not found in the Collection" issue that has brought this to the front for discussion. I am being lazy and do not want to necessarily re-engineer the code again. But in order to try out a few great ideas both you and Sean have have presented some refactoring of my logic in the code will have to occur.... This is turning out to be more of a challenge than a "Quick Fix." -- I will keep you all abreast of my successes/(failures) -- now I just need to carve out some time to work on this! 🙂
... View more
03-17-2015
07:06 AM
|
1
|
0
|
593
|
Title | Kudos | Posted |
---|---|---|
1 | 10-18-2018 09:46 AM | |
1 | 05-23-2018 08:30 AM | |
9 | 04-18-2019 07:15 AM | |
1 | 05-04-2016 08:15 AM | |
1 | 03-24-2017 01:22 PM |
Online Status |
Offline
|
Date Last Visited |
10-18-2023
06:40 PM
|