I have a lot of experience with Access VBA, C++ development, and limited experience with C# and XAMARIN Forms. I am brand new to PowerApps. I am interested in learning more about PowerApps and have a project that would involve about 10 lookup tables, 4 or 5 main tables, Two moderate forms (Sub forms, simple code), and several single table minor forms for maintaing the lookup tables.
Does this sound like something PowerApps could handle?
Any limitations? Gotchas? I ought to be aware of before using PowerApps? At what level of complexity does it choke?
Can you write a Zero Length string back to the Azure SQL Database? (I haven't used Azure SQL, but I'm assuming you can set a DISALLOW_ZERO_LENGTH constraint on the Azure SQL table.column and that it would not be set for the column in question.)
If so, that would be acceptable for my purposes. Having to write a dummy value, such as '_NA' would not make me happy. My experience has been that such data often creates additional complexity in the code and SQL.
As I'm considering PowerApps for "simple" field updates of data also used by very complex desktop apps I can't easily change the tables.
Well, with all due respect I am infinitely familiar with the definition of Null, and Zero Length strings for that matter.
Not sure you understood what I posted - what I was saying?
Also:
"it's just not supported to write the value Null to a field in SQL"
You are referring only to Azure SQL, correct? Because it certainly is supported in non Azure (eg on prem) SQL Server databases. If it's not supported in Azure, it certainly should be. I *never* use ZLS or allow ZLS in any field (this is an option in Access).
Regarding:
"You could write your app to write a blank value "" or 0 to an integer field etc"
Sorry, but that is not good practice. A ZLS is of course not the same as a Null, and they are visually indistinguishable - which can result in a lot of confusion in queries where you have criteria against a field that is supposed to be (ie expected to be) Null, but someone has entered a ZLS. oops!
And substituting a zero (0) in an integer field that is supposed to be Null ... similar problem. Now you are putting real data (0) in a field that s/b (ie expected to be) Null.
I have not yet (but soon) worked with an Azure SQL db to confirm any of this.
Hi @JRaasumaa IMHO it is a bug. Once a field is set to a non-null value, then it cannot be set back to a null value by PowerApps. This is not a limitation of Azure SQL Database, which works perfectly.
The documentation for the Blank() function clearly admits this is a limitation (euphemism for bug):
"Note: At this time, storing blank values is supported only for local collections. We know that many data sources support blank (NULL) values, and we're working to lift this limitation."
"" is not the same as null, and 0 is also not the same as null
Hi @whitekn3, yes you can write back a "" to Azure SQL Database.
It is a work-around, but hopefully at some point we will be able to use blank.
I fully agree with @Anonymous
@Anonymous wrote:Well, with all due respect I am infinitely familiar with the definition of Null, and Zero Length strings for that matter.
Not sure you understood what I posted - what I was saying?
Also:
"it's just not supported to write the value Null to a field in SQL"
You are referring only to Azure SQL, correct? Because it certainly is supported in non Azure (eg on prem) SQL Server databases. If it's not supported in Azure, it certainly should be. I *never* use ZLS or allow ZLS in any field (this is an option in Access).
Regarding:
"You could write your app to write a blank value "" or 0 to an integer field etc"
Sorry, but that is not good practice. A ZLS is of course not the same as a Null, and they are visually indistinguishable - which can result in a lot of confusion in queries where you have criteria against a field that is supposed to be (ie expected to be) Null, but someone has entered a ZLS. oops!
And substituting a zero (0) in an integer field that is supposed to be Null ... similar problem. Now you are putting real data (0) in a field that s/b (ie expected to be) Null.
I have not yet (but soon) worked with an Azure SQL db to confirm any of this.
@Anonymous With all due respect your post made it sound like you did not which is why I tried to explain it to you. Writing a blank value or a 0 could absolutely be good practice if your data sets and filtering work to adjust for this. It depends on the circumstances of the app and what I gave was a perfectly acceptable solution to the fact that Null cannot be written in certain situations, in fact we use blank fields all the time for a string and it works absolutely fine. We also use a 0 in cases that the value should either be Null, 0 or always greater than 0, there is nothing wrong with that specific data set having a 0 instead of a Null and the filtering we use in PowerApps plans for this.
All of this literally depends on the app and data that's being worked on, my suggestion and solution works.
@Meneghino wrote:Hi @JRaasumaa IMHO it is a bug. Once a field is set to a non-null value, then it cannot be set back to a null value by PowerApps. This is not a limitation of Azure SQL Database, which works perfectly.
The documentation for the Blank() function clearly admits this is a limitation (euphemism for bug):
"Note: At this time, storing blank values is supported only for local collections. We know that many data sources support blank (NULL) values, and we're working to lift this limitation."
"" is not the same as null, and 0 is also not the same as null
It's not a bug in that the software is doing exactly what it is supposed to, it's a limitation.
A limitation is not a bug, it's the current design of the software, not a flaw, error, fault or failure of the software (bug).
Because of this my suggestion was a workaround that is a perfectly acceptable solution depending on the data and the app to resolve this. Please see my post above.
Here is another perspective:
In working with Microsoft Access for 25 years now, Access handles and supports Nulls quite well.
In a Table, when you define a new Field's Data Type as Number, Text, Memo, DateTime and a couple of others, unless you explicitly set a Default Value at the Table Level, the initial value of that field in each row is Null. Additionally for a Text Data Type, you can specifiy 'Allow Zero Length', which I would rarely do (importing data into this field from Excel might be an exception).
So at any time when updating a given Field (of the types noted above), you can write real data or a Null. You can overwrite real data with a Null, or vice-versa.
This is certainly the same case for SQL Server, as I do this all the time. However, I cannot (yet) speak for an Azure SQL db. But I find it hard to believe Azure does not work the same way.
So maybe we are all talking about something different. And there is some anamoly in PowerApps regarding Nulls and Azure. But if for whatever reason from within PowerApps you cannot write a Null to an Azure SQL db Field (eg a Text Data Type) - even though when defining that field it will initially be Null ... that ... is a serious problem, bug or otherwise.
RE: " Once a field is set to a non-null value, then it cannot be set back to a null value by PowerApps."
So ... if this is the case ... then this is *definitely* a SERIOUS problem, bug or otherwise. So I totally agree.
Meanwhile though... writing a zero (0) or "" etc., as a workaround ... when a Null s/b written (if that is the case), then you are basically writing 'fake data' .. which is bound to bite one in the ass down the road, especially when it comes to querying that data for a report, etc., and criteria is filterering for and expecting a Null ... OOPS !
Microsoft needs to address this (basic) issue ASAP if not sooner.
@Anonymous wrote:Here is another perspective:
In working with Microsoft Access for 25 years now, Access handles and supports Nulls quite well.
In a Table, when you define a new Field's Data Type as Number, Text, Memo, DateTime and a couple of others, unless you explicitly set a Default Value at the Table Level, the initial value of that field in each row is Null. Additionally for a Text Data Type, you can specifiy 'Allow Zero Length', which I would rarely do (importing data into this field from Excel might be an exception).
So at any time when updating a given Field (of the types noted above), you can write real data or a Null. You can overwrite real data with a Null, or vice-versa.
This is certainly the same case for SQL Server, as I do this all the time. However, I cannot (yet) speak for an Azure SQL db. But I find it hard to believe Azure does not work the same way.
So maybe we are all talking about something different. And there is some anamoly in PowerApps regarding Nulls and Azure. But if for whatever reason from within PowerApps you cannot write a Null to an Azure SQL db Field (eg a Text Data Type) - even though when defining that field it will initially be Null ... that ... is a serious problem, bug or otherwise.
I think it's great you've worked in MS Access for 25 years, I too have had decades of experience in databases and programming languages (but I don't give myself a nickname based on it), but keep in mind, this is not MS Access.
Putting a "" or a 0 into a column is NOT "fake" data (as you say in another post) IF the data set warrants this type of a workaround. There is NOTHING wrong with doing this as a resolution. It would be great if you focus on that instead of shouting that it's not a real Null. Depending on the data you may not need to write a Null and can work around this current limitation with this workaround and I will continue to offer up as a solution to people who need help with this.
Hopefully they resolve this limitation soon but for now there are certainly ways for people to work around it depending on their data, lets all focus on helping people with workarounds and pushing Microsoft and the PowerApps team to coming up with solutions to this products current limitations.
"Shouting" ?
Really ? So, I'm shouting because I do not agree with you ?
And I understand you have an opinion and I have mine. That's how the world works.
Sorry you have a problem with my username, nothing this is not the only forum I participate in. (Google DatabaseMX and Experts-Exchange.com 🙂 )
So ... within this thread, the score stands as follows:
Bug: 2
Not Bug (limitation): 1
Bug/Llimitiation ...I suppose it's all the same in the end.
Dear Community Members, We'd like to let you know of an upcoming change to the community platform: starting July 16th, the platform will transition to a READ ONLY mode until July 22nd. During this period, members will not be able to Kudo, Comment, or Reply to any posts. On July 22nd, please be on the lookout for a message sent to the email address registered on your community profile. This email is crucial as it will contain your unique code and link to register for the new platform encompassing all of the communities. What to Expect in the New Community: A more unified experience where all products, including Power Apps, Power Automate, Copilot Studio, and Power Pages, will be accessible from one community.Community Blogs that you can syndicate and link to for automatic updates. We appreciate your understanding and cooperation during this transition. Stay tuned for the exciting new features and a seamless community experience ahead!
We are excited to announce the Summer of Solutions Challenge! This challenge is kicking off on Monday, June 17th and will run for (4) weeks. The challenge is open to all Power Platform (Power Apps, Power Automate, Copilot Studio & Power Pages) community members. We invite you to participate in a quest to provide solutions in the Forums to as many questions as you can. Answers can be provided in all the communities. Entry Period: This Challenge will consist of four weekly Entry Periods as follows (each an “Entry Period”) - 12:00 a.m. PT on June 17, 2024 – 11:59 p.m. PT on June 23, 2024 - 12:00 a.m. PT on June 24, 2024 – 11:59 p.m. PT on June 30, 2024 - 12:00 a.m. PT on July 1, 2024 – 11:59 p.m. PT on July 7, 2024 - 12:00 a.m. PT on July 8, 2024 – 11:59 p.m. PT on July 14, 2024 Entries will be eligible for the Entry Period in which they are received and will not carryover to subsequent weekly entry periods. You must enter into each weekly Entry Period separately. How to Enter: We invite you to participate in a quest to provide "Accepted Solutions" to as many questions as you can. Answers can be provided in all the communities. Users must provide a solution which can be an “Accepted Solution” in the Forums in all of the communities and there are no limits to the number of “Accepted Solutions” that a member can provide for entries in this challenge, but each entry must be substantially unique and different. Winner Selection and Prizes: At the end of each week, we will list the top ten (10) Community users which will consist of: 5 Community Members & 5 Super Users and they will advance to the final drawing. We will post each week in the News & Announcements the top 10 Solution providers. At the end of the challenge, we will add all of the top 10 weekly names and enter them into a random drawing. Then we will randomly select ten (10) winners (5 Community Members & 5 Super Users) from among all eligible entrants received across all weekly Entry Periods to receive the prize listed below. If a winner declines, we will draw again at random for the next winner. A user will only be able to win once overall. If they are drawn multiple times, another user will be drawn at random. Individuals will be contacted before the announcement with the opportunity to claim or deny the prize. Once all of the winners have been notified, we will post in the News & Announcements of each community with the list of winners. Each winner will receive one (1) Pass to the Power Platform Conference in Las Vegas, Sep. 18-20, 2024 ($1800 value). NOTE: Prize is for conference attendance only and any other costs such as airfare, lodging, transportation, and food are the sole responsibility of the winner. Tickets are not transferable to any other party or to next year’s event. ** PLEASE SEE THE ATTACHED RULES for this CHALLENGE** Week 1 Results: Congratulations to the Week 1 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Community MembersNumber of SolutionsSuper UsersNumber of Solutions @anandm08 23 @WarrenBelz 31 @DBO_DV 10 @Amik 19 AmínAA 6 @mmbr1606 12 @rzuber 4 @happyume 7 @Giraldoj 3@ANB 6 (tie) @SpongYe 6 (tie) Week 2 Results: Congratulations to the Week 2 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Community MembersSolutionsSuper UsersSolutions @anandm08 10@WarrenBelz 25 @DBO_DV 6@mmbr1606 14 @AmínAA 4 @Amik 12 @royg 3 @ANB 10 @AllanDeCastro 2 @SunilPashikanti 5 @Michaelfp 2 @FLMike 5 @eduardo_izzo 2 Meekou 2 @rzuber 2 @Velegandla 2 @PowerPlatform-P 2 @Micaiah 2 Week 3 Results: Congratulations to the Week 3 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 3:Community MembersSolutionsSuper UsersSolutionsPower Apps anandm0861WarrenBelz86DBO_DV25Amik66Michaelfp13mmbr160647Giraldoj13FLMike31AmínAA13SpongYe27 Week 4 Results: Congratulations to the Week 4 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 4:Community MembersSolutionsSuper UsersSolutionsPower Apps DBO-DV21WarranBelz26Giraldoj7mmbr160618Muzammmil_0695067Amik14samfawzi_acml6FLMike12tzuber6ANB8 SunilPashikanti8
On July 16, 2024, we published the 2024 release wave 2 plans for Microsoft Dynamics 365 and Microsoft Power Platform. These plans are a compilation of the new capabilities planned to be released between October 2024 to March 2025. This release introduces a wealth of new features designed to enhance customer understanding and improve overall user experience, showcasing our dedication to driving digital transformation for our customers and partners. The upcoming wave is centered around utilizing advanced AI and Microsoft Copilot technologies to enhance user productivity and streamline operations across diverse business applications. These enhancements include intelligent automation, AI-powered insights, and immersive user experiences that are designed to break down barriers between data, insights, and individuals. Watch a summary of the release highlights. Discover the latest features that empower organizations to operate more efficiently and adaptively. From AI-driven sales insights and customer service enhancements to predictive analytics in supply chain management and autonomous financial processes, the new capabilities enable businesses to proactively address challenges and capitalize on opportunities.
We're embarking on a journey to enhance your experience by transitioning to a new community platform. Our team has been diligently working to create a fresh community site, leveraging the very Dynamics 365 and Power Platform tools our community advocates for. We started this journey with transitioning Copilot Studio forums and blogs in June. The move marks the beginning of a new chapter, and we're eager for you to be a part of it. The rest of the Power Platform product sites will be moving over this summer. Stay tuned for more updates as we get closer to the launch. We can't wait to welcome you to our new community space, designed with you in mind. Let's connect, learn, and grow together. Here's to new beginnings and endless possibilities! If you have any questions, observations or concerns throughout this process please go to https://aka.ms/PPCommSupport. To stay up to date on the latest details of this migration and other important Community updates subscribe to our News and Announcements forums: Copilot Studio, Power Apps, Power Automate, Power Pages