As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I have to write a database in Access 2010 and i need to use VBA also (I have never used it). A thought that the times came to learn a little about VBA and VB. I would like to read through a VB tutorial also just to know a little bit about that too. But i found a lot of VB for example 6.0, 2005, 2008, 2010.
My question is: If I want to learn VBA in Access 2010 which VBA version should I study (link would be good), and which version of VB?
VBA and VB are not the same, particularly VB in the context of the .NET framework. If you want to be able to program within Access, then you need VBA, not VB. Get a book which covers Access VBA - if you don't like Banjoe's suggestion, there are plenty with fewer pages, and tons of material accessible via Google.
I've always found the WROX books to be fairly comprehensive and full of useful, real-world examples. For example: Access-2007-Programmers-Reference
In the beginning try to stick with bound forms/reports as much as possible. You can do a lot without VBA and once you start custom coding things it tends to snowball.
If you're new to database design make sure you read up on how to properly normalize your data. Designing your database properly will save you tons of time in the long run. See: here for one example.
I would suggest you are asking the wrong question. Access is a point-and-click development tool, not a programming language. So, what you need to learn is how to use Access to create applications. That means creating user interface objects interactively and then extending them with code.
However, one thing to keep in in mind is that A2010 has new powerful macros with branching and logic and error handling. These are quite robust because all the features of the new Access Web Databases (usable with Sharepoint using Access Services, and runnable in a web browser) are built on top of these macros.
So, I would suggest that you invest time in learning how to create web objects in addition to learning how to sprinkle in some VBA code to extend the behavior of your Access UI objects (and the VBA code won't run in a Web database, BTW).
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
My friend already has his own working web-site (selling some stuff). We have an idea to create the iOs app for the site to attract more people(for me - to gain some badly needed experience).
The UI is going to be simple, and there won't as many problems, as using the web-site's data. We need the app to have some data locally, so that people, who do not have an internet access, were able to use the app.
But, of course, we want the information in the app to be up-to-date, so I need to use MySQL data somehow (I mean, that if the person has an internet access, the app can use it and download some data, If not - the app must contain some data to show). To be honest, I want the app to be really good, so I have a question: What combination is better to use???
To use core data, create a data model(it is huge and it's difficult to reproduce it, a lot of classes to create). I can do it, but how to update the data then? =) Have no idea.
To create a sqlite database, then use something like php code to insert get and encode the data into json, then parse it.
Maybe I should connect to MySQL directly from the app and use it's data, because it's impossible to have same data locally?
Or just to parse it, using json or xml?
Please, help me guys, I need my app to be cool and robust, but I don't know how to do it. Maybe you can tell the better way to solve such a problem??
Generally you'll have to build a similar database inside your application using SQLite and import data from MySQL through some kind of API bridge. A simple way to do this data interchange is via JSON that encodes the record's attributes. XML is also a possible transport mechanism but tends to have more overhead and ends up being trickier to use. What you'll be sending back and forth is generally sets of key-value pairs, not entire documents.
Stick to Core Data unless you have an exceptionally good reason to use something else. Finding it irritating or different is not a good reason. It can be a bit tricky to get the hang of at first, but in practice it tends to be mostly unobtrusive if used correctly.
Unless you're writing something that's expressly a MySQL client, never connect directly to MySQL in an iOS application. Period. Don't even think about doing this. Not only is it impossible to secure effectively, but iOS networking is expected to be extremely unreliable, slow, and often unavailable entirely. Your application must be able to make use of limited bandwidth, deal with very high latency, and break up operations into small transactions that are likely to succeed instead of one long-running operation that is bound to fail.
How do you sync data between your database and your client? That depends on what web stack you're going to be using. You have a lot of options here, but at the very least you should prototype in something like Ruby on Rails, Django, or NodeJS. PHP is viable, but without a database framework will quickly become very messy.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 12 years ago.
There was discussion in early 2009 about whether Microsoft would release the source for the F# compiler under the MS-PL/another license. A StackOverflow thread mentioned the state as of then.
Since then a lot has happened. We've seen an official release of F# with the .NET Framework 4.0 (and Visual Studio 2010), and for all I know, it's still completely closed-source. Have Microsoft just been quiet on the subject, or have they explicitly stated that they no longer intend to open-source the compiler? Perhaps things are in the process already. Basically, any news/considerations?
(As others have pointed out, the source has always been available, but is not yet under MS-PL, the 'approved open source' license - it currently has a more restrictive license.)
If I were being completely speculative, I might hypothesize that there are a number of things which might have "delayed" an open-source release of the F# compiler, including these:
The compiler code requires a bit of tidying up. The source has always been public, but without an open source license, not too many have looked at it. If you open it, people will look, in which case, it would be nice if the code followed at least some basic style guidelines, like using RecommendedDotNETNamingConventions rather than old_legacy_ones. In a sense, an open-source F# compiler would be one 'canonical F# app', so it would be important for the code to be of high quality with regards to basic things like F# coding conventions (that evolved over time the past 5+ years since the compiler code was originally developed).
The current code is hard to build on any platform. An open-source release would require at least reasonable docs on how to build the compiler (still non-trivial today!) and ideally build scripts for major platforms (e.g. Windows/linux/etc).
Even if IronPython/IronRuby ('open' teams) are "just down the hall" from the F# team at MS, making things 'open' still requires getting a great deal of buy-in/sign-off from management, and re-sign-off from new management if the management changes before you get the first open-source release out the door.
(all the usual 'overhead' of managing an open-source project)
All of the above take manpower, and manpower spent on those things is manpower not spent on other things, like working on the next version of F#. So in practice it may be more feasible for the handful of people doing F# work to nibble away at the work above in free time, rather than devote, say, an entire month to focus on an open-source release. So that might slow things down. (As others have tangentially suggested by pointing at links to job postings, some of the manpower could hypothetically be filled by interns at MSR.)
I emphasize that all of this is completely hypothetical speculation, as there's been no official word from anybody in a long time.
As Robert's comment on your question indicates, the source code is already available as part of each installation, though it does not come with an open source license. Additionally, reading between the lines, I think that things like this blog post by Don Syme still point to an open source release as a priority for the team.
Is it a question? I'm not sure, it's more of a request for any news relating to an existing situation. Adding "considerations" to the request is confusing, what considerations are there? The MS C# compiler is closed source but the C# spec is with ECMA. The F# spec has not been opened to the wider community which is the telling part I feel.
The decision is left with Microsoft, I dont think anyone here can answer that. However, even if it is closed source, we will still probably have all the benefits of the framework, as Microsoft is quite committed to improve and provide more functionalities in the framework. I think even if something is not open sourced or not, but the creator is supporting it or not, that is the biggest concern I have. We have tones of projects in open source but they become code junk after they are not maintained and never improved.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
which open source business intelligence solution would you recommend?
All I need is to build some cubes and let the end user play with dimensions, filter data, sort, etc, and once it's done being able to export it to excel...
I'd like the solution to be as simple and easy on resources as possible, and also I'd like it to be as much open source as possible, by the way. I've heard that many solutions available do have many restrictions when it comes to there community version.
I'd like to ear your advices and the pros/cons of each alternative, to help me choose the right tool, and if you could point me to some basic demo and tutorial to get started.
thanks a lot
ps: I'm using sql server databases, they aren't huge databases (in general less than a million records) and I doesn't necessarily have to work on "live" data...
ps: some useful links:
http://en.wikipedia.org/wiki/Business_intelligence_tools#Open_source_free_products
http://www.manageability.org/blog/stuff/open-source-java-business-intelligence
http://www.jaspersoft.com/jasperanalysis
http://community.pentaho.com/projects/bi_platform/
http://community.pentaho.com/faq/platform_licensing.php
http://www.eclipse.org/birt/phoenix/
http://www.spagoworld.org/xwiki/bin/view/SpagoWorld/
spago demo
http://spagobi.eng.it/SpagoBI/servlet/AdapterHTTP?PAGE=LoginPage&NEW_SESSION=TRUE
http://ostatic.com/blog/open-source-business-intelligence-software-on-the-rise
jpalo demo
http://www.jpalo.com/en/products/start_products.html
jpalo (user:viewer/viewer)
http://www.ten-sw.com:8080/Palo-Pivot/com.tensegrity.wpalo.WPalo/WPalo.html?locale=en_US&theme=blue
http://docs.google.com/viewer?a=v&q=cache:vhsqMQXwCUkJ:www.ow2.org/xwiki/bin/download/Activities/EuropeLocalChapterWebinars/ELCWebinarOSBI.pdf+open+source+business+intelligence&hl=en&pid=bl&srcid=ADGEESgpJJ2MqaKprJQOF2jX2UXCZQjg_asv8d7EVYtq0Vma-e-tR1tFxS-I0SOW0IhJC5acYc94rkDOrgP1WckCp_vk4qhKqR9y2Klp_u9cL8hlXoKoUpMkpAd5wabu61A4W0y15E5P&sig=AHIEtbRJ5FAI-3YK-qtayPjKkF_CwOgZag
As far as I remember from playing with Pentaho and BIRT, these tools are quite difficult to install and learn. But if you don't mind invest your time into learning cumbersome user interfaces you get quite powerful tools at the end of the day.
May I suppose you are interested in open-source BI because of budget rather than 'religion'? If so I'd consider a low-cost/trial SaaS alternative at least to deliver a quick prototype to your users at first.
In the meantime use your time to evaluate and learn an open-source tool of your choice.
Finally, in a couple of weeks, you get happy users who can play with dimensions, create reports and give you valuable feedback and a good knowledge of a BI tool of your choice so you can do a qualified decision about which way to go.
Disclaimer: I work as a consultant for www.gooddata.com - a company that offers that kind of SaaS BI software I'm proposing to use at least to deliver an early prototype to your users. Feel free to ask for any help if you try to do it in the way outlined above.
Unlike the others, I would suggest using Jasper. The quality is far more superb and user friendly than Pentaho. You have to hack many different opensource library configs. I feel like I am using Crystal when I use Jasper, but I don't get that impression when using Pentaho.
Have a look at Pentaho Community Edition Here I have used their ETL tool a bit and it works a charm.
Pentaho FTW. I'm really happy with it. Mondrian works great over mysql.
For reporting I'm using BIRT
SpagoBI is a global solution which contains all the tools, from Birt reports to Jasper reports, and geolocalization analysis ...
SpagoBI is free and easy to setup, have a look and make your own idea.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 13 years ago.
Duplicate:
Learning implementing design patterns for newbies
I have been a developer for years and have my way of developing and have always kept up with the latest techologies. I want to start using a design pattern in the hope it will improve my development speed but I need to find one to apply and I need to find a full open source sample that demonstrates it.
I use and have an application that uses LINQ to SQL and .net 3.5 I tried to apply the repository pattern but found the structure complex and having to hack my way through it.
Any advice for someone who wants to better their programming style?
Read blogs (RSS Feeds are prime). Read magazines. Read random MSDN entries. Write little trial applications. The only way to keep up is to discover it and practice it.
Patterns aren't really "tech" in the traditional sense. Using patterns means applying your specific knowledge of a domain to a problem keeping in mind the patterns which apply to that domain. They are useful to exactly the extent that you have a base of experience to put them in context.
The repository pattern, for example, is maybe not the best starting place for constructing a database architecture based on a pattern. Have you got a simpler pattern implemented such as Table Module or (in the specific case of data access) Active Record? If not then perhaps you should start there. These patterns focus on a fairly limited, basic way of organizing data and operations. Repository is more like a meta-pattern that then builds on top of these patterns, organizing a complex domain-data boundary into a simpler collection-like interface.
Two books that I would suggest reading are:
Refactoring: Improving the Design of Existing Code (ISBN: 0-201-48567-2)
and
Refactoring To Patterns (ISBN: 0-321-21335-1)
Both are great books that will help you, at a high level, understand the when's and why's to applying patterns to your code. In addition, they are great reference material for some of the most commonly used patterns out there.
To be clear, these books are by no means the "complete library" of design patterns.
My simple advice for bettering your programming style:
Pick a technology that you find productive and "fun" and keep with it to learn how to fully explore it's potential.
Don't try to learn all the new technologies all the time - just keep yourself oriented.
Seek advice and solutions where and when you actually need them - don't waste time learning solutions to problems you don't (yet) have.
Regarding design patterns... Well... I'll probably get shot for this, but I don't really like the idea of cramming them all into my head "just in case". They are really a cooking book of "good solutions" for common problems. My advice here is: Whenever you run into problems that you can't come up with an obvious/immediate solution for - use them as reference.
Learn from your mistakes (you'll make them).
Don't marry your code. Throw away and rewrite is an excellent way of bettering the style.
I would sincerely recommend dofactory.com
which also offers code examples in vb.net + c# for all the design patterns
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I'm wondering about some ideas which can improve process of designing solutions using Access and VBA programming language. Of course I'm not talking about best programming practices in general, but only these directly related to Access and VBA.
Everybody knows, that VBA has poor object-oriented programming support, there is no inheritance, polymorphism and so on. So how to ensure DRY and KISS at one time? There are some solutions how to implement common in other languages patterns and strategies in VBA, but frankly speaking, they are often overcomplicated. Which of those are worth to implement?
Before I start a new Access project (if any ;) ), I wish to gather collection of best practices, because from my experience I know that with VBA in Access (and with Access in itself) it's very challenging to avoid bad design concepts and to end with messy, unreadable and repeated multiple times code.
I'd like to add here some other questions and answers related in a way or another to the same issue. The pointers might lead to my own answer to these questions, but do not hesitate to browse other's answers!
MS Access as enterprise software
Best way to test an MS-Access application
Working with multiple programmers on MS-Access
Recommendations on using SQL server GUIDS from MS-Access
I must admit that one of the main constraints of Access is the limited object model. I was specifically annoyed by the lack of possibilities to add my own properties and methods to the Form object. I recently found an efficient turnaround to this problem by creating 2 extra objects:
the "AllMyForms" object,
which in fact maintain 2 object collections: one is the standard Access forms collection, the other one is a collection of all the instances of the "customForm" object. Both collections are indexed with the hwnd property of an opened form (or, to be more specific, the hwnd property of the instance of a form, allowing me to open multiple instances of the same form).
the "customForm" object,
which lists my custom properties and methods of a form's instance
In this way, I can refer to properties such as:
accessForms:referring to the standard properties and methods
AllMyForms.accessForm(hwnd).name
refers to the .name property of the access form through its .hwnd value
By the way, the following debug.print will then give me the same result:
? screen.ActiveForm.name
? AllMyForms.accessForm().name 'default value for hwnd is screen.activeForm.hwnd'
Custom forms:properties
AllMyForms.customForm(hwnd).selectClause
will refer to the SELECT clause used to create the underlying recordset of the form's instance
Custom forms:methods
The .agregate method, available for a customForm object, will calculate the sum/min/max/avg of a form "column" (ie sum of values for a control in a continuous form):
AllMyForms.customForm().agregate("lineAmount","sum")
Will give me the sum of all "lineAmount" values displayed on the current/active instance of a form.
The definitive source for best practices in Access programming is this book:
Access 2002 Desktop Developer's Handbook
http://www.amazon.com/Access-2002-Desktop-Developers-Handbook/dp/0782140092
You should get a copy if you're serious about programming in Access. These guys are the experts.
I realize the book seems dated, but all of the information in it still applies. I suppose it never got updated because this kind of development is a bit of a niche area. But Access has not changed all that much internally (it's one of the only remaining software development tools left that still uses what amounts to a dialect of VB6), and most of the information in the book is still good.
The companion book that focuses on Client/Server development is here:
Access 2002 Enterprise Developer's Handbook
http://www.amazon.com/Access-2002-Enterprise-Developers-Handbook/dp/0782140106
One thing i always had to do when I did Access programming was the use of a lot of hidden fields for binding reasons. I made sure that i made the field invisible and also changed the color of the field to foreground white and background red so that people knew this was a hidden field.
Another best practice I used was using modules for all of my shared code. Get into the habit of putting a lot of your reusable code in modules.